[GUI] Re: Gtk and Object I/O

John Meacham john@repetae.net
Fri, 24 Jan 2003 03:26:35 -0800


please please please no. not as a 'standard' GUI interface for haskell.
this same thing you propose has been done by everyone and their brother
as a pet project and there is no need for us to do it again in haskell.
this is what GTK IS! gtk is a portable widget set, gdk is just raw
drawing primitives which need to be ported to a platform and gtk is
built on top of them. there is no reason to think we will do a better
job, if we are willing to go with a common implementation, we might as
well use a mature one that already works and takes pains to be efficient
and practical across platforms. gtk2hs ALREADY works across windows and
unix without hackery.

if people havnt already seen it:
http://www.t4p.com/xplat.htm describes some of the issues relating to
any endevour such as ours.

I am strongly in favor of just formalizing a mid-level library as an
INTERFACE and leaving the implementation open-ended (with a sample one
in gtk2hs since that is the most mature/featurful low-level GUI toolkit
for haskell right now) 

there is no reason the project you describe couldnt be worked on, it
sounds useful and fun, but it should not be a 'standard interface'. 


that said, a low level display PDF/SVG esque layer would be a nice
thing to be standardized, but is orthoganol to the widget set GUI
concerns. you will find most of the work done for you in drawing
libraries built on top of OpenGL which are several.

	John


On Fri, Jan 24, 2003 at 12:41:17AM +0000, Adrian Hey wrote:
> So this is what I'm thinking now..
> 
> 1- Forget about interfacing to Gtk,Qt,MFC,TK,WxWindows or whatever.
>    Instead write the entire thing in Haskell (preferably),
>    C (if necessary) and perhaps even the occasional bit
>    of assembler for stuff that must really fly using
>    MMX,Altivec..
> 2- Keep the platform specific stuff primitive and
>    relatively simple to implement on any platform.
>    Just basic window management,mouse and keyboard event
>    event handling and blitting pixels to windows. Maybe
>    we need to also consider desktop features like
>    cut&paste and drag&drop here too.
> 
> IMHO these primitives are the only things that would need to
> be standardised across all platforms. I'm not sure I see any
> benefit in standardising higher level gui libraries & apis
> (which should be completely portable anyway if written in
> Haskell/C).  
-- 
---------------------------------------------------------------------------
John Meacham - California Institute of Technology, Alum. - john@foo.net
---------------------------------------------------------------------------