Optional brackets around lambda expression: proposed syntax with full grammar

Ali Ebrahimi ali.ebrahimi1781 at gmail.com
Sat Jun 18 02:56:52 PDT 2011


Hi,
you are right, this is my Bad.

This is fixed version:

LambdaDeclaration =
                    LambdaParameterList '->' LambdaBody

LambdaParameterList =
	ZeroOrOneLenParameterList | GreaterThanOneLenParameterList

ZeroOrOneLenParameterList =
	'(' LambdaParameter? ')' | LambdaParameter?

GreaterThanOneParameterList=
	'(' LambdaParameter , (LambdaParameter)+ ')'

LambdaParameter =
	Parameter | Identifier

LambdaBody =
	Expression | `{' Statement* `}'


Best Regards,
Ali Ebrahimi

On 6/18/11, Steven Simpson <ss at comp.lancs.ac.uk> wrote:
> On 18/06/11 10:22, Ali Ebrahimi wrote:
>> This is full grammar of my proposed syntax:
>>
>> LambdaDeclaration =
>>                     LambdaParameterList '->' LambdaBody
>>
>> LambdaParameterList =
>> 	ZeroOrOneLenParameterList | GreaterThanOneLenParameterList
>>
>> ZeroOrOneLenParameterList =
>> 	('(')? LambdaParameter? (')')?
>
> Wouldn't that permit these too?:
>
>   ( x -> x
>   x ) -> x
>   ( -> x
>   ) -> x
>
> Cheers,
>
> Steven
>
>


More information about the lambda-dev mailing list