Dear Colleagues,
I'd like to inform you that I have updated the Curry report
to include the results of the discussion since the publication
of the last version. The changes are mainly corrections of
minor errors or explanations of unclear points. Moreover,
the precise definition of a well-typed program has been
added in Section 4.2. The only relevant change to the language
is the omission of implicit declarations of free variables
(see my email to this list of January 7, 1999). I append a
short summary of all changes at the end of this email.
As usual, you can find the new version via the Curry homepage
(
http://www-i2.informatik.rwth-aachen.de/~hanus/curry)
or directly at
http://www-i2.informatik.rwth-aachen.de/~hanus/curry/papers/report.dvi.Z.
Since this is the first complete version which, I think, is stable
in many aspects, I gave it the version number 0.5 to enable
simple references to this version.
You might be interested to have a look at the Curry webpages,
since it includes a nice new symbol for Curry (thanks to
Frank Steiner, suggestions for improvements are welcome)
and a new section summarizing the different implementations
of Curry.
Best regards,
Michael
---------------------------------------------
Changes to the version of November 23, 1998:
- Section 2.2.2: special case of single Boolean guard removed.
- Section 2.4:
- implicit declarations of free variables deleted (see email of
January 7, 1999)
- discussion of mutally recursive "free" declarations added
- Section 4.1: explanation added that "predicates" in the logic programming
sense should be considered as constraints rather than Boolean functions
in Curry.
- Section 4.2: Definition of well-typed programs added by means of
typing rules.
- Section 10: ".curry" defined as the standard extension for loading
Curry programs and full command names for the interactive
environment added.
- Some fixity declarations in the prelude corrected.
- Section B (Prelude):
- function "tryone" (cf. Section 7.4) added since it is necessary to
define search operator "one"
- "unpack" modified so that it extracts only a single search goal
(the previous "unpack" on lists is now equivalent to "map unpack")
- Section C.1:
- Characters "\:" added to valid OpID characters
- Keywords of Curry defined
- Section C.3:
- rules for type expressions and patterns corrected
(for compatibility with Haskell)
- order in function declarations relaxed: signature, eval annotation
and equations can come in any order
- Expression syntax extended (sections and unary minus included)
- Section C.4 about handling of infix operators added.
- Section D.2: evaluation of conditional rules directly integrated in the
operational semantics of Curry. Thus, Section D.3 is deleted since
the special handling of conditional rules by a syntactic transformation
caused some confusion.
- Section D.4: Inference rule 6 for solving equational constraints corrected.
---------------------------------------------------------------------
Received on Mi Jan 13 1999 - 11:55:00 CET