[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [CoFI] Concrete + Abstract Syntax: minor comments
This is a quick reaction to one of Bernd's points about the concrete
syntax and to Peter's comments thereon.
Bernd wrote:
> Sorry to belabour it (but I did not have any reaction so far):
> I would really like "lambda" in lambda expressions to be written (in the
> input!) as "\" as in Haskell. In HO, when using continuations or monads,
> lambda expressions are often "strung together" and compact notation is
> important.
Peter responded:
> [The whole issue of concrete syntax for architectural specifications
> is still at the tentative stage, pending the appearance of examples...
> It's good to get comments on it; however, your motivation for the
> proposed change seems to presume that (i) CASL should use the same
> notation for functions both between algebras and within algebras, and
> (ii) it is possible to use continuation-passing or monadic styles of
> function composition within architectural specifications. Surely
> both these issues are somewhat debatable?
Architectural specs are for specifying the structure of a system, so
the functions in question are for building systems from subsystems. I
agree with Bernd that the notation for lambda-abstraction has to be
compact when one is working "in the small" but this is not a
consideration at the "in the large" level of architectural specs.
Indeed, something that is harder to overlook would seem preferable at
this level.
> Moreover, using "\" for this purpose would prevent the same character
> being recognized as a complete TOKEN - perhaps a bit annoying for
> those wanting to use it for set difference, or for restriction in CCS?
> although display annotations should allow e.g. the input token "\\" to
> be formatted as "\". My own suggestion would be to use "fun" instead
> of "lambda", now that its previous use has been taken over by "op".
I suggest "fn" as in ML. Let's use something that is familiar to at
least part of our potential user community rather than inventing
something slightly different.
[Oops: I'd mistakenly thought that it was "fun" in ML. (Sorry! :-)
Anyway, I support Don's proposal of using "fn" in CASL arch specs.
--PDM]
Cheers, Don