On 9 January 2013 01:08, Rasmus Schultz <ras...@mindplay.dk> wrote:
> I've started working on a new proposal, but I'm getting hung up on the
> syntax - if we can't use angle brackets anymore, what can we use? Virtually
> every symbol on a standard US keyword is an operator of some sort, does
> that mean those are all out of the question?
>
> e.g. thinking of concrete possible basic syntax, neither of the following
> delimiters would work:
>
> [Foo('bar')]

Why would this not work? I'm struggling to think of a place where one
would want to use an annotation where it could be misinterpreted as an
array literal.  If anything, the visual "conflict" or association with
the array syntax is a good thing in my book: my brain parses it as an
array of one or more annotations.

>
> <Foo('bar')>
>
> {Foo('bar')}
>
> And presumably none of the following would work either:
>
> ~Foo('bar')
> @Foo('bar')
> ^Foo('bar')
> *Foo('bar')
> &Foo('bar')
> :Foo('bar')
>
> Can you think of anything that would work?
>
>
> On Tue, Jan 8, 2013 at 3:57 AM, Vladislav Veselinov
> <v.veseli...@gmail.com>wrote:
>
>> Assume that you have this class with your proposed syntax:
>>
>> [SomeAnnotation('somevalue')]
>> class Test {
>>
>> }
>>
>> This conflicts with the short array syntax. It looks like an array
>> containing the result of the function 'SomeAnnotation' invoked with
>> the parameter 'somevalue'.
>> The only difference is the missing ";" but relying on this to
>> determine whether this is an annotation or not would be insane.
>> I'd support such a decision but with other syntax.
>>
>> I like Guilherme's RFC. I just don't think that the syntax is very PHPish.
>>
>>

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to