Re: Curry report updated

From: Sven Panne <>
Date: Mon, 23 Nov 1998 14:29:47 +0100

Michael Hanus wrote:
> First of all, (=>) is rigid since it has type "Constraint -> a -> a"
> and functions with polymorphic result type are rigid by default.

Ooops, I forgot...

> The question whether "success" should be a constructor is more
> subtle. [...] The reason why "success" should not be considered
> as constructor is [...]

OK, that's convincing. But the question remains if "success" should
be a keyword or a normal identifier which is bound e.g. by the prelude.
That raises another question: What exactly are the keywords of Curry?
"pragma" or "data" is obviously two of them, but what about e.g.
"flex" or "choice"? Haskell has the slightly obscure concept of
specialids ("as","qualified","hiding"), but IMHO this not very nice.
Consequently, I opt for making everything like "flex" a keyword, too.

> > * As usual, I strongly recommend including a machine-usable grammar
> > for Curry in the report, something like [...]
> In principle, I agree. On the other hand, I think that a
> machine-usable grammar is sometimes less readable for humans.

Just because of that fact, the Java-people made a nice compromise:
Within the report itself, fragments of the grammar are presented in
an ambiguous, but human-readable form. The grammar chapter itself
starts by describing the problems/conflicts of the grammar given so far
and the needed incremental changes to the grammar given later, finally
reaching an LALR(1) grammar.


Sven Panne                                        Tel.: +49/89/2178-2235
LMU, Institut fuer Informatik                     FAX : +49/89/2178-2211
LFE Programmier- und Modellierungssprachen              Oettingenstr. 67            D-80538 Muenchen
Received on Mo Nov 23 1998 - 14:34:00 CET

This archive was generated by hypermail 2.3.0 : Di Sep 29 2020 - 07:15:02 CEST