Hi Max, thanks for your suggestion. 
I also have a "not pretty" code which used Text.XML.Light and TH. I am going to rewrite it. HXT by my opinion is too big.

The question is a "requirements". Which correlations exist between Haskell types and XML-Schema possibilities? How to prepare XML for different Haskell types? How to generate Haskell types from XML-Schema, which restrictions in schema could be authomatically modeled in Haskell? And so on...


2009/8/8 Max Cantor <mxcantor@gmail.com>
Hi Dmitry,

I've been using HXT and its XmlPickler class for encoding and decoding between XML <-> Haskell types.  It takes a while to wrap your brain around the arrows based API for HXT (something I'm still working on) but it seems to be quite powerful and well maintained.

Also, I've written some Template Haskell code to derive instances for the XmlPickler class (so that types can automatically be encoded and decoded as XML.  Its not pretty, has bugs, and is far from perfect but I can send that to you if you'd like a way to get stared.

Max

On Aug 7, 2009, at 7:04 PM, Dmitry Olshansky wrote:

Well, great thanks for interesting links.

But definitely at first I need a time to try to understand what Generic Haskell and EMGM are.

Does it stronger than Template Haskell? Could it be explained briefly and simplistic for first impression? Could it be compared with SYB or TH?

Would it be applied to realisation of translation or to target Haskell code?

Regards,
Dmitry


2009/8/7 Sean Leather <leather@cs.uu.nl>

On Fri, Aug 7, 2009 at 12:05, John Lask <jvlask@hotmail.com> wrote:
the paper:

Scripting XML with Generic Haskell
Frank Atanassow, Dave Clarke and Johan Jeuring
October 14, 2003

describes a translation from XML Schema to Haskell data types (like dtd2haskell) in generic haskell, I believe that the code for the tool described may also be available, how hard it would be to migrate over to vanilla haskell+generics is another question....

It looks like this almost might work in EMGM. They use a Label in addition to all the other representation structure elements. EMGM doesn't have a Label, but it might be useful to add it...

With any needed changes such as the Label done, migrating this Generic Haskell code to EMGM would not be difficult.

Sean

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe