Lablgtk, version alpha1

From: Jacques GARRIGUE (garrigue@kurims.kyoto-u.ac.jp)
Date: Thu Jul 15 1999 - 10:51:48 MET DST


To: caml-list@inria.fr
Subject: Lablgtk, version alpha1
Message-Id: <19990715175148D.garrigue@kurims.kyoto-u.ac.jp>
Date: Thu, 15 Jul 1999 17:51:48 +0900
From: Jacques GARRIGUE <garrigue@kurims.kyoto-u.ac.jp>

This is our pleasure to present

        Lablgtk, a Gtk interface for Objective Label

You can find it at:

        http://wwwfun.kurims.kyoto-u.ac.jp/soft/olabl/
        ftp://ftp.kurims.kyoto-u.ac.jp/pub/lang/olabl/lablgtk-a01.tar.gz

(The summer version of Objective Label is required to compile)

This is still a development version, but almost all widgets are
supported. The glarea widget is also supported, allowing OpenGL
programming in combination with LablGL.

This interface has a two-level structure

    * type-safe raw interface to gtk, based on variant typing

    * easy to use class wrappers, using optionals and polymorphic methods

Users can do everything very confortably with the second layer,
but the first layer ensures the safety of the development.

Threads are supported, for powerful I/O programming. Another
interesting aspect of threads is that they can be included in the
toplevel, and then one can use gtk widget interactively:

        # GtkThread.start ();;
        # let w = new GWindow.window show:true;;
        # let button = new GButton.button label:"Hello" packing:w#add ;;
        # button#connect#clicked callback:(fun () -> prerr_endline "Hello");;

These few lines make interactively appear a window, a button inside
it, and connect the button to a callback.

Two very experimental RADs, radtest and lablglade, are included in this
distribution. The ultimate goal of the lablgtk project is to provide a
RAD for Objective Caml/Label.

The lablgtk authors:

        Jacques Garrigue, Hubert Fauque, Jun Furuse, Koji Kagawa.

P.S.
Do not confuse lablgtk with mlgtk. Mlgtk is another gtk interface, for
the original Objective Caml. There is no code sharing between these two
interfaces. Practically, differences are mostly to be found in the
typedness of the first layer, and the use of Objective Label typing
extensions to make programming easier.

---------------------------------------------------------------------------
Jacques Garrigue Kyoto University garrigue at kurims.kyoto-u.ac.jp
                <A HREF=http://wwwfun.kurims.kyoto-u.ac.jp/~garrigue/>JG</A>



This archive was generated by hypermail 2b29 : Sun Jan 02 2000 - 11:58:23 MET