lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Review comments from my team regarding a summary of this thread:

* \ looks too much like C preprocessor macro syntax. Yeah, whatever. I need to hire people who have some lambda calculus exposure. ;-)

* Praise for Apple's extensions to C/C++/Objective-C to add blocks: ^( arglist ){ statements ). I am dubious, however, about using braces to enclose statements rather than table constructors though I don't seem to have as much trouble with repurposing square brackets.

* I found I had issues making \ work with our existing whitespace rules. Basically, \ seems to cry out for dropping whitespace around the arguments. It doesn't require it, but it looks funny if you don't. For this reason, I find myself drawn back to a C# inspired syntax: ( arglist ) => expr and ( arglist ) => [ exprlist ]. The problem is that from a parsing standpoint, this is very unfriendly to LL(1) parsing.

Mark

P.S. As an example of where this sort of syntax is useful, look at something like:

http://download.microsoft.com/download/C/5/D/C5D669F9-01DF-4FAF-BBA9-29C096C462DB/Rx%20HOL%20.NET.pdf