[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Lightweight syntax: a dissident view
- From: Mark Hamburg <mark@...>
- Date: Thu, 25 Nov 2010 10:12:02 -0800
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
- References:
- Re: Re: Re: Lightweight syntax: a dissident view, Gunnar Zötl
- Re: Re: Re: Lightweight syntax: a dissident view, Luis Carvalho
- Re: Re: Re: Lightweight syntax: a dissident view, Axel Kittenberger
- Re: Re: Re: Lightweight syntax: a dissident view, Pierre-Yves Gérardy
- Re: Re: Re: Lightweight syntax: a dissident view, Roberto Ierusalimschy
- Re: Re: Re: Lightweight syntax: a dissident view, Mateusz Czaplinski
- Re: Re: Re: Lightweight syntax: a dissident view, Axel Kittenberger
- Re: Lightweight syntax: a dissident view, Philippe Lhoste
- Re: Lightweight syntax: a dissident view, Pierre-Yves Gérardy
- Re: Lightweight syntax: a dissident view, steve donovan
- Re: Lightweight syntax: a dissident view, Paul Hudson