[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Inline VALOF
On Wed, 13 Dec 2006, P.H.Welch wrote:
> We didn't really mean to stir up a deep discussion! Though that's always
> interesting and fun, :).
>
> We'd still like the question Adam asked answered:
>
> * has anyone ever used the VALOF construct in any past or present
> occam-coded project ... other than in the mandated way for a FUNCTION
> body ... and other than for teaching what a VALOF construct does?
I've used it for testing a compiler...
I also agree that the lexical structure, while natural, is painful.
Perhaps the strongest reason for keeping it is essentially David May's.
The danger is that without the discipline of a strict "inline" definition
of a function, "function creep" will set in and we'll lose the much more
important semantic properties of occam functions. Also, if (as we
must) we retain the ability to "inline" in the AST, not being able to do
it in the source language makes the transformation harder to document and
understand.
We already reason about a (not very) executable superset of occam with
output guards; I guess that's an essential feature of refinement to a
distributed implementation. I'm not sure it's worthwhile introducing
another disconnect between abstract and concrete occam just to help the
lexers.
I've always hated the asymmetry between IF and ALT. Why are IF guards
tested in lexical order? Shouldn't that be a PRI IF? William would
probably have merged ALT and IF, depriving us of the syntactic sugar of an
obvious nondeterminism flag.
I think demanding PRI SEQ would be a step to far.
Happy Christmas,
Denis A Nicole WWW: http://www.hpcc.ecs.soton.ac.uk/~dan
School of Electronics Email: dan@xxxxxxxxxxxxxxx
& Computer Science Phone: +44 23 8059 2703
University of Southampton Fax: +44 23 8059 3045
SO17 1BJ
United Kingdom