Gtk and Object I/O

Simon Peyton-Jones simonpj@microsoft.com
Mon, 20 Jan 2003 09:38:41 -0000


| going to stop gtk+hs because of this". So it seems we are all
| waiting for the critical user mass that makes our own beloved=20
| GUI library (binding) the standard GUI library. For the sake=20
| of Haskell, we can only hope that this will actually happen=20
| one day.  A sad side-effects of this is that most of us GUI=20
| developers waste a tremendous amount of time. A paper is just=20
| not worth the effort we put in writing the code.

I don't think we are waiting for critical user mass.  We're waiting for
critical=20
*designer/developer* mass!

Before Haskell existed, there were half a dozen not-very-good lazy
functional languages, roughly one for each research group.  Haskell was
born out of the realisation that our efforts were fragmented and
duplicated by this language diversity.  Perhaps the situation with GUIs
today is similar.

What is necessary is for those who are enthusiastic about developing GUI
technology to get together and hammer out a common design; and then
co-ooperate in implementing and supporting it.  The hard bit is for
everyone to compromise enough to agree a common design.  For that to be
feasible you either need a fair consensus on the broad outlines, or
enough frustration with the costs of diversity that everyone is prepared
to make substantial compromises.   I sense that the latter condition may
hold.  I'm not sure about whether there's a consensus on what a GUI
library should look like to the programmer, but at least the current
diversity means that there are quite a few more-or-less worked-out
designs to serve as concrete starting points.

Speaking as a potential user of such a library, I would absolutely love
to have a Haskell GUI library that=20
	was available in some form on each major platform
	was supported by a bunch of people, so I could have
		some confidence in its continued existence
Its exact capabilities are less important: (a) I'd adapt my program to
fit what was available, and (b) I'm sure it would evolve in response to
user feedback. I'd accept compromises in functionality to gain
portability; it'd be OK to have=20
some platform-specific sexy bits.  Worse is better.


As Manuel says, this process is already under way: the GUI task force.
  http://haskell.org/communities/11-2001/html/report.html#sect4.3.1
But not much is happening on gui@haskell.org.   Well, nothing actually.
Most of the 63 people subscribed to the list are (like me) lurkers.
But I bet that a small subset are knowledgeable enough and motivated
enough to do the job. =20

My main purpose, in writing this over-long message, is to say again what
a big service to the community it would be to agree a common design and
to implement it.


Simon