[GUI] Proposal Proposal: haskell-gui addendum to haskell standard

David Sankel camio@yahoo.com
Wed, 22 Jan 2003 08:40:16 -0800 (PST)


Hello Everyone,

  I believe that haskell would have great benifit from
a platform independant specification for a graphical
user interface module or set of modules.  I've been
blessed with a lot of time on my hands so I'd be
willing to organize this project if needed.

  Since there are several working haskell gui
libraries out there, I would like this to be a
collaboration project with those who are experienced
in this area.  Input and ideas from users would also
be a part of the collaberation.

  The goal would be a specification much like the
haskell report that could be freely implimented and a
reference impementation.

  This is an informal proposal for a proposal and
would like to get some feedback for the following
ideas. (please reply to gui@haskell.org)

1.  Platform independance:  The QT widget library is a
stunning example of how platform independance is
achievable without sacraficing speed.  I am not
suggesting that we build haskell-gui off of QT but
might use major components of it as a model. 
Eventually, the library could have three backends; the
Windows API, the X API (or gtk perhaps?), and the Mac
API (the name illudes me at the moment).

2.  Signals support:  Having a signals mechanism is
essential for large gui projects.

3.  Dynamic widgets:  All widgets should have dynamic
size and should have the ability to be resized by the
measurement of their contents or their parents.  This
could be done in a way similar to QT widgets.

4.  GUI GUI builder:  Widgets should be flexible
enough to have the ability to be incorporated in a GUI
GUI builder program, such as QT designer.  The storage
for a GUI builder might be direct Haskell code or some
intermediate format.

5.  OpenGL incorporation:  haskell-gui should have
some sort of OpenGL widget as OpenGL is the most
standardized and multiplatform graphical library
availible.  Perhaps the hgl software could be
incorporated in this aspect of haskell-gui.

6.  Custom Widgets:  It should be easy for one to
create his or her own custom widgets from scratch
using Haskell code or by some modification of the
standard ones.

Please give your feedback and suggestions for this
project proposal proposal.  If there is enough
interest, I'll get this thing started.

Kudos,

David J. Sankel
Head Consultant
Electron Consulting (www.electronconsulting.com)