GTK+ (The GIMP Toolkit) is an open source GUI toolkit originally developed for the GIMP (GNU Image Manipulation Program). However, it is used in a range of other projects by now, most notably the GNOME (GNU Network Object Model Environment) and the Mozilla project (Netscape's open source browser). GTK+ is portable as it does not rely on X window's Xt library, but instead accesses the underlying window system via a thin API, called GDK. Furthermore, it uses a consequent object-oriented design and realizes callback functionality via a flexible and powerful signal mechanism (not identical with, but oriented by *nix signals). GTK+ object-oriented features are realized in plain C; and it has been designed with an eye on making it not too difficult to interface from high-level languages. Therefore, it is a very interesting choice for a GUI toolkit for Haskell.
The lattest news:
Currently, the GTK+ binding is available for the Glasgow Haskell Compiler only. If you want to have it for another Haskell system, try to get Glasgow's New Foreign Function Interface (FFI) implemented in that system. I think, the FFI is a good design and Haskell bitterly needs a protable, widely supported foreign function call mechanism.
The GTK+ Binding for Haskell is currently in an alpha release state. In other words, the basic functionality (including GTK+'s object system and the signal mechanism) is implemented and basic widgets (like windows and and buttons) are available. However, more sophisticated widgets are missing and the code is only lightly tested. The following widgets (plus some basic widgets) are implemented: horizontal and vertical boxes, plain buttons, check buttons, toggle buttons, radio buttons, range widgets (scales and scollbars), text entries, labels, file selectors, separators, and windows.
The implemented functionality should already be sufficient for simple dialogs. You may want to have a look at the screenshot and code of one of the small examples that I used to test the binding.
gtk+hs-0.3.2.tar.gz
gtk+hs-0.3.1.tar.gz
gtk+hs-0.3.0.tar.gz
gtk+hs-0.2.1.tar.gz
gtk+hs-0.1.0.tar.gz
The files are also available per ftp.
This page is part of Manuel Chakravarty's
WWW-stuff.
Last modified: Fri Apr 23 00:15:40 JST 1999