[GUI] Re: Gtk and Object I/O
Simon Peyton-Jones
simonpj@microsoft.com
Fri, 24 Jan 2003 13:11:02 -0000
The discussion has focused so far somewhat on implementation routes.
My hope is that
(A) we can define programming interface (i.e. a collection of abstract
types and functions)
(B) that is rich enough to be useful for writing GUI applications
(C) and yet can be mapped onto a variety of architectures and toolkits
If this were possible, then one could reduce effort in step (C) by using
a toolkit (e.g. Gtk) that is already ported to multiple architectures,
at the cost of look-and-feel; or, one could maintain look-and-feel
compatibility by investing more in (C), so that the mapping was more
native-aware. Regardless of which approach an implementor took, the
application writer would still use interface (A).
The question is: what should (A) look like? Is it even possible to
define a rich enough (A) without making (C) impossible? The answer to
the latter question must surely be "yes, provided one is not too
ambitious with (A)".
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
That would be even better, because then lots of the implementation of
(A) becomes shared between many targets. The Clean experience is that
the code sharing is substantial.
So I ask:
what are the candidates for (A)?
I've suggested one: the Clean Object-IO model, or something related (the
MVar vs local state question is still open). Are there any other
proposals?
Simon