Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
Desktop GUI toolkits - current state of the art?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2010-11-23 (23:06)
From: Jacques Garrigue <garrigue@m...>
Subject: Re: [Caml-list] Desktop GUI toolkits - current state of the art?
I'm not sure which examples you looked at for lablgtk2.
The goals of lablgtk are:
  * be as close as possible to the spirit of Gtk+
  * while providing type and memory safety
  * and allow comfortable use through objects and optional arguments
This resulted in a 2-layer implementation, with a lower layer
that just wraps basic Gtk+ calls, and an object layer on top of it.
Some examples mix the two layers, which may look strange, but
I think that when you use only the upper layer, this is clean enough.
(The lower layer is not dirty, but converting between the two may be
verbose and look clumsy).

The obvious alternative to lablgtk2 is of course labltk.
I personally think that labltk is still the easiest way to build a GUI,
but many do not like Tk's look&feel.

I'm not aware of other GUI toolkits for ocaml, but I think there are also
web-based UIs.

Jacques Garrigue

On Tue, Nov 23, 2010 at 11:19 PM, Martin DeMello
<> wrote:
> What are the actively developed options for writing desktop GUI apps
> in OCaml? Anything other than lablgtk2 (which, at least from a brief
> look through the examples, looks rather ugly, codewise, compared to,
> say, vala or ruby/gtk)? I'll use lablgtk2 in a pinch, but I'm curious
> as to whether anyone has been experimenting with toolkit bindings with
> an eye towards better syntax and APIs.
> (Note that I don't care about a native look and feel, I'm more
> interested in how the code looks.)
> martin
> _______________________________________________
> Caml-list mailing list. Subscription management:
> Archives:
> Beginner's list:
> Bug reports: