Re: Slight change of the Curry syntax

From: Mario Rodriguez-Artalejo <>
Date: Mon, 25 Aug 2003 11:38:23 +0200

Dear Michael,

>Dear Colleagues,
>after having implemented the module system of Curry in PAKCS,
>we detected a couple of minor syntactic problems for which
>a propose a slight change in the syntax of Curry.
>In the current report, "as", "hiding", and "qualified"
>are keywords and, thus, cannot be used as identifiers.
>However, some Haskell programmers using Curry seem to like
>the use of "as" as identifiers. Looking at the Haskell syntax,
>I realized that the above keywords are not keywords in Haskell
>so that they can be used as ordinary identifiers in Haskell.
>Since these words have only a special meaning in module headers,
>there is no risk of ambiguity. Thus, I propose to follow the
>same rules in Curry, i.e.:
>Proposal 1:
>"as", "hiding", and "qualified" are not keywords and can be used
>as ordinary identifiers.
>Furthermore, there is a problem with qualified names and the
>function composition operator. Consider the definition
>f i = [i..]
>The right-hand side can be interpreted in two ways:
>- an arithmetic sequence (i.e., (enumFrom i)), or
>- the list consisting of the operator "." imported from module "i"
>To avoid this ambiguity, I propose the first alternative
>since this is often used in existing programs.
>This alternative can be enforced by the following
>Poroposal 2:
>Qualifications of the operator "." are syntactically not allowed.
>Of course, this restricts the current language definition
>but I think the programs where this restriction become relevant
>can be easily avoided.
>Please let me know if you have any comments or objections,
>otherwise I'll add these changes to the current language report.
>Best regards,
>curry mailing list

your proposals seem natural and cconvenient to me.

Best Regards,

Received on Sa Aug 30 2003 - 19:23:32 CEST

This archive was generated by hypermail 2.3.0 : So Sep 20 2020 - 07:15:03 CEST