- Contemporary messages sorted: [ by date ] [ by thread ] [ by subject ] [ by author ] [ by messages with attachments ]

From: Michael Hanus <hanus_at_informatik.rwth-aachen.de>

Date: Fri, 22 Oct 1999 12:45:58 +0200 (MET DST)

Dear Colleagues,

I'd like to inform you that I have updated the Curry report.

Most of the changes are minor (see the short summary of

all changes at the end of this email). The two major changes

are:

1. Module system: Due to a suggestion of Wolfgang Lux, I modified

its definition so that it is almost compatible with Haskell.

In particular, renaming is replaced by qualification and hiding.

2. Local declarations (let/where): Nothing has been changed but I

provided a precise definition of the meaning of local declarations

by adding in Appendix D a section about the elimination of

local declarations. Note that the exact meaning of local

declarations is relevant since Curry has a distinction between

variables (i.e., arguments of functions which are shared)

and functions (which are not shared).

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.

Comments are welcome!

You might be interested to have a look at the Curry web pages,

where I have recently updated. In particular, I extended the page about

papers related to Curry. Please let me know if you have

some further contributions.

Best regards,

Michael

---------------------------------------------

Changes to the version of January 13, 1999:

- Section 2.6: Footnote about instantiation of unbound functional variables

added.

- Section 4.2: Typing rules for existentials and defining equations

corrected.

- Section 5: Definition of module system changed so that it is

almost compatible with Haskell (e.g., renaming is replaced by

qualification and hiding)

- Section 10: Command ":type" shows the type of an expression instead

of a function

- Appendix B: standard prelude extended (const, /=, lines, unlines,

either, maybe,...)

- Syntax: bugs w.r.t. infix operators and unary minus corrected

- Syntax: module syntax slightly changed, list of keywords updated

Changes: qualified infix operators allowed, renaming is replaced by

qualification and hiding

- Appendix D: "pattern" replaced by "call pattern" to avoid confusion

with patterns in the syntax of Curry (which are defined as expressions

without defined functions).

- Typo in Figure 3 corrected.

- Section 2.2.1 and Appendix D.2: Explanation of sharing made more precise.

- Appendix D: Section about the elimination of local declarations (let/where)

included. This lifting of local declarations is necessary to

explain the operational semantics and the type system of the

entire language. Concrete implementations are free to choose

other techniques if they are conform with this specification.

---------------------------------------------

Received on Fr Okt 22 1999 - 12:55:36 CEST

Date: Fri, 22 Oct 1999 12:45:58 +0200 (MET DST)

Dear Colleagues,

I'd like to inform you that I have updated the Curry report.

Most of the changes are minor (see the short summary of

all changes at the end of this email). The two major changes

are:

1. Module system: Due to a suggestion of Wolfgang Lux, I modified

its definition so that it is almost compatible with Haskell.

In particular, renaming is replaced by qualification and hiding.

2. Local declarations (let/where): Nothing has been changed but I

provided a precise definition of the meaning of local declarations

by adding in Appendix D a section about the elimination of

local declarations. Note that the exact meaning of local

declarations is relevant since Curry has a distinction between

variables (i.e., arguments of functions which are shared)

and functions (which are not shared).

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.

Comments are welcome!

You might be interested to have a look at the Curry web pages,

where I have recently updated. In particular, I extended the page about

papers related to Curry. Please let me know if you have

some further contributions.

Best regards,

Michael

---------------------------------------------

Changes to the version of January 13, 1999:

- Section 2.6: Footnote about instantiation of unbound functional variables

added.

- Section 4.2: Typing rules for existentials and defining equations

corrected.

- Section 5: Definition of module system changed so that it is

almost compatible with Haskell (e.g., renaming is replaced by

qualification and hiding)

- Section 10: Command ":type" shows the type of an expression instead

of a function

- Appendix B: standard prelude extended (const, /=, lines, unlines,

either, maybe,...)

- Syntax: bugs w.r.t. infix operators and unary minus corrected

- Syntax: module syntax slightly changed, list of keywords updated

Changes: qualified infix operators allowed, renaming is replaced by

qualification and hiding

- Appendix D: "pattern" replaced by "call pattern" to avoid confusion

with patterns in the syntax of Curry (which are defined as expressions

without defined functions).

- Typo in Figure 3 corrected.

- Section 2.2.1 and Appendix D.2: Explanation of sharing made more precise.

- Appendix D: Section about the elimination of local declarations (let/where)

included. This lifting of local declarations is necessary to

explain the operational semantics and the type system of the

entire language. Concrete implementations are free to choose

other techniques if they are conform with this specification.

---------------------------------------------

Received on Fr Okt 22 1999 - 12:55:36 CEST

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