Re: Curry's Constraint Syntax

From: Manuel Chakravarty <chak_at_greyarea.is.tsukuba.ac.jp>
Date: Thu, 12 Feb 1998 10:55:07 +0900

Michael Hanus wrote,

> Manuel Chakravarty wrote:
> > We had the same problem with Goffin with Haskell 1.4 (as
> > Curry's syntax is inspired by Goffin that is not very
> > surprising). The latest Goffin paper ``Distributed Haskell:
> > Goffin on the Internet'' (to appear in ``Proceedings of the
> > Third Fuji International Symposium on Functional and Logic
> > Programming''), contains our solution, i.e., a completely
> > Haskell compatible syntax, in the appendix.
>
> Ok, it is compatible to Haskell and it is also similar
> to the Curry proposal one year ago: you use a three character
> symbol for equality (":=:") which I found very ugly when I started
> to write programs with it.

The use of both `=' and `==' is, in my opinion, out of
question (due to their use in plain Haskell). So, if you
want to have a symmetric looking symbol that contains `=',
there is not much choice apart from going for a three symbol
lexeme.

> Moreover, primitive constraints
> in choices are enclosed in curly brackets whereas equational
> constraints are not. Although it might be appropriate for Goffin,
> it is less appropriate for Curry where the choice construct
> has deep guards.

That one is easy. The only reason for using a special
syntax in the `choice' construct of Goffin is that Goffin
does not support deep guards. So, with deep guards, you can
just use the nonterminal `exp' to the left of the `->' in
the choice construct.

Cheers,

Manuel
Received on Do Feb 12 1998 - 02:53:00 CET

This archive was generated by hypermail 2.3.0 : Do Jun 20 2024 - 07:15:05 CEST