[GUI] Re: Gtk and Object I/O
Simon Peyton-Jones
simonpj@microsoft.com
Fri, 24 Jan 2003 16:35:35 -0000
| > Peter Aachten goes further. Based on the Clean group's experience,
he
| > thinks we can not only define a satisfactory (A), but also define a
| > lower-level interface (expressed in the C language) that
| > suffices to support (A)
| > and yet contains no target specific code
I phrased this badly. What I meant was this. Let's call the lower-level
interface (L). =20
Let's call the thing we are mapping to the "target". A target is either
a portable library like GTK, or a native UI platform like Windows. A
target is something we don't implement.
The goals of (A) are:
Reasonably easy for programmers to use
Programmer's interface does not change across targets
Rich enough to be useful
The goals of (L) are
Reasonably easy to implement (but maybe less easy to
program with)
Programmer's interface (from "above") does not change
across targets
Rich enough to implement (A)
As I understand it:
ObjectIO and Daan's Graphics.UI.GIO are examples of (A)
Daan and Krasimir's Port is an example of (L)
When I said "contains no target-specific" code, I meant that the code
that implements (A) using (L) is not target specific. The
implementation of (L) will certainly be target specific.
You are right that (L) does not need to be written in C. Indeed there
might be many implementations of (L): some which are entirely in Haskell
(perhaps implemented by you), others written mostly in C (using existing
libraries).
I know little about particular UI libraries. My suggestion, though, is
that we focus discussion on what (A) and (L) should look like, rather
than on how they should be implemented.
Simon