> 
> 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


Reply via email to