[Haskell-cafe] GUI

John Velman velman at cox.net
Wed Dec 29 15:21:26 EST 2004

On Mon, Dec 27, 2004 at 11:44:49AM +0100, Arjan van IJzendoorn wrote:
> >However, I want to know if there has been any practical 
> >standardisation in the GUI area.  Last time I looked at this it seemed 
> >some decisions had been made (bind to existing api - wxWindows?).  I 
> >am waiting for some real standardisation and a mature API before I 
> >jump ship from Java for my day-to-day programming.
> wxHaskell is available at http://www.wxhaskell.sfnet.org/
> It runs on Windows, Linux and MacOS X. It has many GUI controls, 
> database access, is well documented and ...[snip]

"Well documented" is relative to the background of the user.  As a Haskell
novice who has no prior experience with wxWindows, I have found the
documentation a little bit sparse!  For example, the device context (dc) of
the widget where an event occurs is apparently passed (by the wxHaskell
routines) to the user written callback function for that event.  I had a
need for the dc of a different widget in a certain callback.  I stumbled
onto the function "withClientDC" more or less by accident.   

I'd like to be able to output my drawing in PostScript. Based on some
wxWindows examples, and some function signatures in the wxHaskall
documentation, I believe I'll eventually be able to do this, but expect to
have to do some heavy digging and reading of a certain amount of C++ code
in order to figure out how.

This is not a complaint, just a warning to the novice.  Don't expect
anything like Python's TKInter Life Preserver.   

I am fairly happy with wxHaskell and get happier with it as I get to
understand it better.  I'm grateful for the work Daan and others have put
into wxHaskell.

wxHaskell does have extensive Haddock documentation, the Wiki has a very good
wxHaskell page (as far as it goes), and Daan's paper "wxHaskell A Portable
and Concise GUI Library for Haskell" is excellent.

I understand that writing documentation for the novice is time consuming. I
hope to add some comments to the Wiki for other beginers when I get a
little further along.


John Velman

More information about the Haskell-Cafe mailing list