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

Reply via email to