Dear Colleagues,
I would like to announce and draw your attention to FlatCurry
(
http://www.informatik.uni-kiel.de/~curry/flat/),
an intermediate representation for Curry programs.
Although the first definition of FlatCurry is two years old,
we have improved and updated the structure of FlatCurry
after using it in various projects (e.g., program transformation,
compilation, analysis, meta-programming etc) so that I think we
have now a more or less stable definition.
FlatCurry was originally designed as an intermediate representation
for Curry programs in order to provide a common interface for
connecting different tools working on Curry programs.
However, the definition is general enough to cover also
other declarative languages, e.g., purely functional or
logic languages or Toy. So, it would be nice if other
people working on language tools for Curry or similar languages
(e.g., compiler back ends, program optimizers) do this on
the basis of FlatCurry so that one can exchange or integrate
such tools. As a first step for such an integration, there
is also an XML representation for FlatCurry (which is the
outcome of a discussion with Wolfgang Lux, Eva Ullan).
Our PAKCS implementation can read and write programs
in this XML format, e.g., it can be also used as a back end
for other declarative languages provided that there is a translator
into the FlatCurry/XML format.
So, you are invited to use this representation in the future
in order to reuse a number of existing tools (including
program analyzers, partial evaluator etc). You can find more
details about FlatCurry at
http://www.informatik.uni-kiel.de/~curry/flat/.
There is also an interactive translator for Curry programs
into the FlatCurry/XML representation.
Of course, comments or suggestions for improvements are always
welcome!
Best regards,
Michael
_______________________________________________
curry mailing list
curry_at_lists.RWTH-Aachen.DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/curry
Received on Do Aug 30 2001 - 12:23:39 CEST