>
> Alexander Jacobson <[EMAIL PROTECTED]> writes:
>
> > * facilitate better integration with other languages/systems
> > For example, it would be nice to be able either to generate a Haskell
> > datatype from an XML DTD or to generate a XML DTD from a Haskell
> > datatype.
>
> Funnily enough, that's exactly what we're working on at the moment. We
> already have the part which converts an arbitrary Haskell datatype to
> an XML DTD (and values of that type to an XML document). We are
> part-way through the other angle, starting from an arbitrary XML DTD
> and deriving a Haskell datatype for it (and the functions which parse
> an XML document to a value of that type, and pretty-print the value
> back to a document.) These are written partially using DrIFT (i.e. the
> "derive" tool) - which has turned out to be a remarkably pleasant
> experience.
There's another alternative available: asdlGen
http://www.cs.princeton.edu/zephyr/ASDL/
"ASDL descriptions describe the tree-like data structures such as
abstract syntax trees (ASTs) and compiler intermediate representations
(IRs). Tools such as asdlGen automatically produce the equivalent data
structure definitions for C, C++, Java, Standard ML, and
Haskell. asdlGen also produces functions for each language that read
and write the data structures to and from a platform and language
independent sequence of bytes. The sequence of bytes is called a
pickle. "
I think there's also some support for XML.
I'm not sure if asdlGen can do all that Malcolm and Colin's package
will do, though. In any case, I find the ability to write a pickle
from C and read back from Haskell quite useful.
Two relevant papers are:
"Early Experience with ASDL in lcc", Software-Practice and Experience,
to appear.
"A Machine-Independent Debugger-Revisited", Microsoft Research TR 99-4
both available at http://www.research.microsoft.com/~drh/
> If anyone is interested in any of these facilities, drop us an email.
Do keep the mailing list informed of your progress!
Regards,
Fermin Reig