On Sun, 2007-07-29 at 00:10 +1000, skaller wrote: > On Sat, 2007-07-28 at 14:36 +0200, Emmanuel Onzon wrote: [] > There are more issues. At present, all nonterminals, even > private ones, are global (private ones just have magic names).
BTW: I'm not disagreeing as such, just saying the whole thing is part of a wider, general, issue of how to package things (in general, not just 'syntax'). for example consider: let x := y in a := b x c Looks nice .. it localises x .. but is it right? Shouldn't that be: a := let x := y in b x c ?? That looks more like functional programming languages .. but just consider the generalisation to multiple productions and nonterminals: a,d,e := let x := y in b x c, x x, x v z that is .. we'd have to introduce *tuples* into the system to make this work .. whereas the first syntax doesn't require that: just grouping: let x := y in { a:= b x c; d:= x x; e: x v z; }; It looks like: are we declaring productions (functional style) or are we executing side effects which extend nonterminals (the grouping case: view a:= .. as a mutator). -- John Skaller <skaller at users dot sf dot net> Felix, successor to C++: http://felix.sf.net ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Felix-language mailing list Felix-language@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/felix-language