Dear Colleague,
due to the silence of the Curry mailing list during the
last months, one could get the impression that there are
no further activities concerning the development of Curry.
This is not true and, therefore, I send you this message
to inform you about recent developments.
The main new information is that I have found some time
to update the Curry report where I have included some
sections which were missing in the previous report.
You can find the new version in 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.
To simplify the access to the changes for you, I summarize
the most important points:
- Section 2.3 on local declarations (describing "let" and "where")
has been added.
- Section 2.4 on free variables is new. After some discussion with
Sergio Antoy, we propose to declare free variables (existentially
quantified) variables similarly to other local objects by "let"
and "where" declarations so that the same scoping rules are used.
- Section 2.5 on constraints and equality has been updated (in particular,
all references to the internal constant "Valid" have been dropped
since this caused some misunderstanding in the previous version).
Moreover, the "and" alternatives in evaluation annotations are also
deleted, i.e., concurrent evaluation is expressed now only
through concurrent conjunction of constraints (which seems to be
enough in practice and is also used in Goffin or Oz).
- Section 3 on the operational semantics has been simplified
(usually, only the evaluation annotations "flex" and
"rigid" are important; thus, the explanation of the other
more specialized annotations has been moved into the appendix).
- Section 5 describing the module system has been added.
- Section 7 describing the encapsulated search facilities has been added.
This is the most important new feature. Since the report describes
the feature only in a small section, you might be interested
in a more detailed description to see how to use it to define
your own search strategies. In this case, take a look at the paper
http://www-i2.informatik.rwth-aachen.de/~hanus/curry/papers/search.dvi.Z
- Pragmas (Section 9) slightly modified, Prelude and syntax updated.
- Operational semantics (Appendix D) updated according to the new
features (equational constraints, concurrent conjunction,
encapsulated search).
Our current prototype implements most of the features described
in this report. In particular, the encapsulated search facilities
are implemented. If you want to "play" with them, take a look
at our WWW interface where you can run small programs:
http://www-i2.informatik.rwth-aachen.de/~hanus/tastecurry/
If you want to run more examples or if you want to use
our new Curry-to-Java compiler (see
http://www-i2.informatik.rwth-aachen.de/~hanus/publications/papers/ILPS97WS.html
for more infos), we can also provide
a distribution of our complete system (but note that
it is still a prototype not intended for serious use,
we are still working on it...)
Note that the new version of our prototype supports
also a nearly Haskell-like syntax (thanks to Sergio Antoy
for providing the parser). Examples and further documents
can be found in the WWW pages.
As usual, comments are always welcome!
Best regards,
Michael
Received on Mi Feb 04 1998 - 17:50:00 CET