RFC: GUI Library Task Force

Juan Carlos Arévalo Baeza jcab@roningames.com
Tue, 25 Sep 2001 13:51:48 -0700

On Tue, 25 Sep 2001 17:41:06 +1000, Manuel M. T. Chakravarty=

>>=A0Many applications where GUIs are used require a=
 canvas/scribble field
>>=A0with the following basic functionality:
>>=A0=A0- set a point in a particular color; if speed is an issue,
>>=A0=A0=A0mapping a 2D-array content to the canvas would be useful
>Sure - such functionality needs to be included. =A0However, a
>canvas widget is just one among many.

   IMHO, the main interest on having this kind of functionality=
 singled out is that this allows any other drawing primitive to=
 be implemented in a generic way. You wouldn't have fast=
 implementations, but this will allow complete implementations of=
 the drawing portion of the GUI to be done real quickly, and it=
 would also provide a reference implementation for all the basic=
 drawing primitives. Any implementation that uses hardware=
 acceleration or that defers rendering of primitives to the=
 operating system can then be checked against that reference=

   It's kind of like what I believe the Haskell Kernel to be:=
 everything can be implemented using that subset of Haskell, and=
 everything else is either syntactic sugar or library functions.=
 Implementations can then optimize those sugar extensions and=
 library functions or implement them as primitives for=
 performance reasons, but they don't have to. Call this the=
 Haskell GUI Kernel. Only this time, I believe it should be=
 formally documented.

   Make sense? It will mean some more work than if we just jumped=
 into the GUI and did it as a whole, but it'll save time and pain=
 down the line.

email: jcab@roningames.com
ICQ: 101728263
The Rumblings are back: http://www.JCABs-Rumblings.com