|
From: Jeremy O'D. <jer...@gm...> - 2007-08-02 14:03:34
|
Hi all,
I've been busy with little time for wxHaskell for a few months.
However, I have been (slowly) working in the background, and I'm 90%
ready with a couple of fairly large patches.
The first should be (relatively) uncontentious. It's a unified build
system which works the same way on all platforms/compilers. It is not
the subject of this mail.
The larger issue is that I have the beginnings of *proper* (i.e. not
in wxWidgets 2.4 compatibility mode) support for wxWidgets 2.8.4 ready
to check in. I've wrapped all of the essential API changes, but have a
few more 'nice to have' items still to go (they would appear in
Graphics.UI.WxCore - there are rather only very minor changes at the
Graphics.UI.Wx level).
That's the good news. The bad news is that this would once and for all
break compatibility with wxWidgets 2.4.2 as there have been many
changes in wx in the almost four years since it was released.
So before committing what will be a sizeable patch, and one which
breaks API compatibility in some areas, I'd like a straw poll of
users' opinions as to what we should do. The options are:
Try to support latest wxWidgets
- Advantages
- We benefit from bugfixes and improvements in the base GUI library
- Simpler for new users, as getting 'historical' versions of wxWidgets means
you must compile it for yourself (which is non-trivial) as opposed to using
the version 'packaged' for your OS.
- Disadvantages
- Due to changes in the way finalization is done in wxWidgets, it would no
longer be possible to use wxHaskell properly from GHCi as the underlying
wxWidgets library would be left in an unsuitable state once the first wxApp
event loop terminates.
- A few API changes visible at the wxHaskell API
Decide once and for all that wxHaskell is based on wxWidgets 2.4.2
- Advantages
- Can focus more of the maintenance effort on improving the Haskell API
- GHCi works properly, at least on some platforms
- Some may feel that 2.4.2. is 'Good Enough' for our purposes
(although Unicode
works much better on later releases)
- Disadvantages
- Would really need to supply pre-built binaries of wxWidgets 2.4.2
as part of the
distribution, to reduce the difficulty of getting started for new
wxHaskell users.
For the record, I would prefer to keep track with wxWidgets as best we
can. GHCi operation is nice to have, but not essential to me at all.
I'd also like us to look into re-initialization of wxWidgets library
so that we can get GHCi working again, but I'd have to say that it's
likely both platform dependent and messy to do.
Regards
Jeremy
|