Hi everybody,

I've recently been thinking about ways we would make the wxhaskell
installation process less painful.

My desire is for the "cabal install" part of the process to be
completely painless.  Right now, the wxcore process is slow, complicated
and doesn't work for the user package database (which means you can't
just cabal install any old program that uses wxhaskell).  What I hope we
can do is to segregate all the slow and painful stuff into C land (using
standard stuff like autotools), keeping the Haskell-y bits nice and
smooth.  I think this will reduce the net pain because then people can
just think in terms of (1) installing all the backend stuff like
wxWidgets and (2) cabal install.

A second desire would be for us to get rid of our wxc code altogether
and move it to its own project?  WXC is shared by wxHaskell, wxOcaml and
wxEiffel, but we all have our own variants of the code.  There was a wxc
project, but it seems to have gone dead.  I've remarked on #wxwidgets
that it would be great if the wxWidgets team to take over the WXC
project so that it would be more actively maintained.

This is where Kevin Ollivier of wxWidgets pointed out something
interesting: in the current wxWidgets trunk, it should be possible to
automatically generate the C bindings from the Doxygen XML output.  In
fact, he has already done something similar for Python, metadata to
Python objects:


This makes me wonder: can we do something similar for wxHaskell or wxc?
What if wxc was generated in the same fashion?  Instead of having this
be some whole other project, why not make it ridiculously easy for the
wxWidgets team to just ship a C interface around wxWidgets?

I'm vaguely aware that our copy of wxc has some information which helps
us keep track of the wxWidgets class hierarchy.  Presumably the same
information could be autogenerated as well?  This sort of thing has been
suggested before (people have mentioned SWIG).

Now that wxHaskell 0.11 has been released with wxWidgets 2.8 support, is
it time to take this back-end stuff more seriously?  It sounds like what
one of us could do is hack up a quick XSLT sheet or something similar to
produce the C bindings.  Maybe a HaXml program as a prototype?

What should we do next?


Eric Kow <http://www.nltg.brighton.ac.uk/home/Eric.Kow>
PGP Key ID: 08AC04F9

Attachment: signature.asc
Description: Digital signature

This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
wxhaskell-users mailing list

Reply via email to