Gtk and Object I/O

Krasimir Angelov ka2_mail@yahoo.com
Fri, 17 Jan 2003 01:34:59 -0800 (PST)


--- Axel Simon <A.Simon@ukc.ac.uk> wrote:
> Hi Krasimir,
> 
> In the last two years I have implemented a binding
> of Gtk Version 2 to 
> Haskell. I read the first paper about Object I/O of
> Peter Achten and Simon 
> PJ which was published in IFL'00. I wondered if I
> could supply a layer 
> like that of Object I/O to my library to get away
> from the raw monadic 
> feeling whenever possible. I don't know how far you
> got to use Gtk but I 
> assume there are mayor obstacles in creating a
> native interface to Windows 
> and Gtk at the same time. Since I managed to get my
> binding running on 
> Windows recently (no MSI installer yet), I thought
> it could be worthwhile 
> considering Gtk as a single backend to Object I/O.
> 
> Could you give me some hints as if that is
> useful/possible? Also 
> references to the most relevant papers would be good
> to get me started.
> 
> Thank you in advance,
> Axel.
> 


Dear Axel,

The Object I/O development is currently frozen. The
native Win32 backend works but maybe still have bugs.
I still support the library but only for bugfixes. I
tried develop GTK backend for Object I/O but I found
many difficulties. The main trouble is that the
original Clean library are developed only for Windows.
I think that Object I/O must be rewriten from scratch
to make it more portable. For that reason I started my
new project HToolkit
(http://sourceforge.net/projects/htoolkit). The
project maintain both GTK and native Win32 API. The
library are separated in two levels. The low level is
written in C and has two versions: for Win32 and for 
GTK. I think that the low level part are mostly 
completed (about 80-90% of GUI related Win32 and GTK 
API). The last week Daan Leijen started development
of Port library. This is very thin Haskell layer over 
the low level C part. The idea is to make it reusable 
in other high level GUI libraries. After its
completion I will retarget HToolkit to use Port. I
hope that for the feature the Port will be ported to
Mac platform.

I think that for the time being developers which want
to use Haskell for development of large scale projects
are a trouble. There are nine known GUI libraries:

   * Gtk+HS
   * iHaskell
   * Gtk2HS
   * HTk
   * TclHaskell
   * Fudgets
   * FranTk
   * Object I/O
   * Yahu

None of them are capable for large scale development 
for some reason. The HTk, TclHaskell, FranTk and Yahu 
are based on Tcl/Tk. The Tcl/Tk backend are portable 
but slow. The Gtk+HS, iHaskell, Gtk2HS are based on
GTK. The backend is powerful and portable (GTK >= 2.0)
but I prefer to use just native libraries on 
different platforms. The Object I/O is Win32 specific.
I think that there are need of one portable and 
efficient library. It needs to have advantages of
existing library but must have single uniform
interface. I post this message to haskell@haskell.org 
because I think that development of nice libraries 
requires agreement of the entire Haskell Community on
basic design lines. I looking for peoples which are
interested in the development of "standard" GUI
library.

Best regards,
Krasimir


__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com