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
[email protected]
https://lists.sourceforge.net/lists/listinfo/felix-language