
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 ---------------------------------------------------------------------------