
I've been looking into to this a bit myself, and have had trouble with
the fact that the XML descriptions of the protocol are extremely
C-centric. As in, the union types defined in the XML are C-unions,
and I've seen a struct definition which uses padding-bytes to store
semantically useful data.
Both of which are fine things to do in C, but a bit tricky to map onto Haskell.
You should still be able to generate a large amount of data-types and
serializing/deserializing code automatically.
As for code generation, Language.Haskell.Syntax paired with
Language.Haskell.Pretty is a pretty good way to do it, from what I can
tell.
On Mon, Mar 31, 2008 at 1:29 PM, Adam Langley
2008/3/31 Roman Cheplyaka
: Especially I need help with "Milestones" section. I'm not quite sure how it should look like for such project.
This would seem to be a commendable SoC project. I'm not sure that the milestones are all that important - no plan ever survives contact with reality. However, I'd suggest that these would be important aspects:
* A working parser for the XCB (this involves choosing an XML parser and getting useful data structures from it) * A working Haskell code generator which outputs bindings for a minimal subset of the functions
(the last two need not be in Haskell, although I suspect that it would be a good idea for them to be so)
* The first, minimal, Haskell X client using XCB * Having sensible bindings for 25%/50%/75% and 100% of the XCB interface.
AGL
-- Adam Langley agl@imperialviolet.org http://www.imperialviolet.org _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe