I am pleased to announce version 0.11.5 of Gtk+HS, the Haskell binding for the GUI toolkit GTK+. This is the first beta release and the first release that comes with pre-build binaries. The binding is not complete yet, but it is sufficient for applications with GUIs of medium complexity. The underlying toolkit, GTK+, implements a mature, high-end widget set, which forms the basis of the Gnome desktop environment, and is used in cutting edge open source applications, such as the Gimp, Gnumeric, and Abiword. Gnome (and, thus, GTK+) is not only one of the two main desktop environments for Linux, but has also been selected by Sun as the new standard desktop for Solaris. Moreover, there is a port of GTK+ available for Win32. The present distribution includes an example application (The Boolean Editor) that demonstrates how GTK+ can be used from Haskell. It illustrates concepts, such as callbacks, the handling of global GUI state, and synchronisation between the different windows of an application. The code is available directly from the Web page without need to download the complete release. Portability: I tested this release with GHC on GNU/Linux; however, it should work equally well on any other Unix platform that is supported by GHC. Moreover, it should, after some fiddling with makefiles, also work with NHC98, but I haven't got around to testing that yet. With the GTK+ port for Windows, Gtk+HS should in principle also be usable on Windows. I am not keen on trying the latter myself, but I would welcome any patches that are necessary to make it work. Gtk+HS includes code contributions from a number of people. See <http://cvs.gnome.org/lxr/source/gtk%2bhs/AUTHORS> for details. More information (including screenshots!) as well as source and binary packages are available from http://www.cse.unsw.edu.au/~chak/haskell/gtk/ Happy Hacking! Manuel
"Manuel M. T. Chakravarty" <chak@cse.unsw.edu.au> writes:
I am pleased to announce version 0.11.5 of Gtk+HS, the Haskell binding for the GUI toolkit GTK+.
Thanks for 0.11.5, Manuel. I am having trouble building it though. Below's what I am getting. I get the same error c2hs-0.9.8 and chs-0.9.9, with both cvs and the tarball. This is with ghc-5.00.2-1. Jens /usr/bin/ghc -c -O -package lang -fglasgow-exts -recomp -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -D_REENTRANT -I/usr/X11R6/include -i/usr/local/lib/c2hs-0.9.9/ghc5/import -fglasgow-exts -package lang '-#include<gdk/gdk.h>' '-#include"gMarsh.h"' -i../glib -I../glib Gdk.hs Gdk.hs:103: Couldn't match `Ptr CString' against `CChar' Expected type: Ptr CInt -> Ptr (Ptr CString) -> IO a Inferred type: Ptr CInt -> Ptr CChar -> IO () In the first argument of `initAux', namely `(gdk_init)' in a `do' expression pattern binding: (prog, args', _) <- initAux (gdk_init) args Gdk.hs:111: Couldn't match `Ptr CString' against `CChar' Expected type: Ptr CInt -> Ptr (Ptr CString) -> IO a Inferred type: Ptr CInt -> Ptr CChar -> IO CInt In the first argument of `initAux', namely `(gdk_init_check)' in a `do' expression pattern binding: (prog, args', succ) <- initAux (gdk_init_check) args make[1]: *** [Gdk.o] Error 1 make[1]: Leaving directory `/home/petersen/haskell/gtk+hs/gdk' make: *** [all] Error 2
participants (2)
-
Jens Petersen -
Manuel M. T. Chakravarty