[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