From: Jacques Garrigue <garrigue@kurims.kyoto-u.ac.jp>
To: luther@dpt-info.u-strasbg.fr
Cc: caml-list@inria.fr
Subject: Re: OCaml's long range graphical direction?
Date: Thu, 08 Feb 2001 10:59:41 +0900 [thread overview]
Message-ID: <20010208105941X.garrigue@kurims.kyoto-u.ac.jp> (raw)
In-Reply-To: <20010206191902.B11976@lambda.u-strasbg.fr>
As current maintainer of LablTk and LablGTK, I try to answer a bit on
these questions. But do not expect a real vision from me: what will
stay is what people are using, that seems enough for me. And if people
want to see more development on LablTk and/or CamlTk, I would see
nothing wrong in it.
Also, since somebody suggest me that more publicity could be good,
there is now a lablgtk mailing list. See info on the lablgtk home
page: http://wwwfun.kurims.kyoto-u.ac.jp/soft/olabl/lablgtk.html
> On Tue, Feb 06, 2001 at 10:28:42AM +0100, Xavier Leroy wrote:
[disclaimer erased]
> > I expect the Caml-TK interface to be supported (and included in the
> > standard OCaml distribution) for quite a while, but not actively
> > developed. TK itself is quite stable and is available for many
> > platforms: Unix, Windows, and MacOS. TK does well what it's been
> > designed to do: write quickly simple GUIs. It starts to break apart
> > for really complex GUIs, as the development of the MMM Web browser
> > demonstrated.
I'm not sure it really breaks apart: to me MMM was rather successfull.
But it is difficult to completely control the look-and-feel of an
application with Tcl/Tk, and the weakness of the thread support may be
a problem for some specific uses (including a web browser).
And as often pointed out, not everybody agrees with the direction
Tcl/Tk is going to (strong investment on scripting).
A small correction: there is currently no support for the MacOS
version with Caml. No idea of how difficult it would be, but there was
no huge demand for it.
> > I've heard lots of good things about GTK, and it looks more powerful
> > than TK, so it might be the wave of the future. However, it is my
> > impression that the Windows port of GTK is lagging behind. Also, the
It is there, this is already a lot :-)
And some lablgtk applications are already ported to windows.
From: Sven LUTHER <luther@dpt-info.u-strasbg.fr>
> Also there is work underway for a framebuffer port of gtk+, this could be a
> nice tool for embeded system running only ocaml or some variant thereof. I
> think we will see macos X support soon, if you don't want to use X on it.
Yes, the activity around GTK+ is very encouraging.
> > Caml-GTK interface is still actively developed and hence might be less
> > stable than the Caml-TK interface.
>
> And with the forthcoming of gtk+ 2.0, there is need for a lot of work in that
> area.
>
> Maybe this is something for the new ocaml consortium ?
Not so sure: interfacing to GTK requires quite a bit of design, and
I'm not sure how much of it can be delegated.
Anybody knows when GTK+ 2.0 will be ready, anyway?
> That said, we still have 2 gtk+ bindings, at least.
> It seems lablgtk is more complete and may have more active support, due maybe
> because jacques as more time to devote to it than i and pascal cuoq do.
> But still mlgtk seems more easy to understand and to use, needing less
> understanding of the convoluted class and methods system that lablgtk uses.
> Both lack good documentation, well apart from the source that is.
This convoluted class and method system is intended to make using
lablgtk easier on the long term :-)
In fact, people seem to be coping with it OK. That is, I didn't get
that many questions on it. But certainly, there is a huge deficit in
documentation.
> It would be nice to know who is using which of the bindings and what is their
> opinion on it ?
Yes, for sure, I'd love to here more.
I had a bit of feedback for lablgtk: Pierce&Jim's unison (I forced
lablgtk on them by writing a UI), an airplane route analysis tool, a
frontend for a database, etc...
Also somebody here developped an irc client, and a binding for
mozilla's gecko for another project. We shall make the effort to
release these individually.
> Also both use an object layer over an type unsafe non object layer. It seems
> that this seems an hindrance for some, from previous comment on this.
Not completely exact: the non-object layer is also type safe in
lablgtk. You theoretically can program in it directly. This is just
going to be much more verbose. Also a bit more error-prone, since not
everything is captured by the type system.
> Ideally it would be nice to have a stub layer that will be used by both
> bindings, if they are not merged, and could even be used standalone or with a
> more type safe non object wrapping, if this is possible.
Personally I would rather favor a merge of the two-bindings. I believe
this is what most people want, and there is enough work for both
teams.
Or would it be possible to build a mlgtk compatible layer on top of
lablgtk's non-object layer?
> Also i advocate the use of automatic or semi-automatic translation
> of the gtk+ C headers for creating the stub layer, so as to make the
> tracking of changes in gtk+ easier.
I'm all for it. But this is lots of work, especially if you want the
intermediate layer to be typed.
> But then again, this is work that need to be done, and i personnaly
> don't have the time for it.
All problems come to that :-)
> > > To what degree does threading affect the answer?
> >
> > No idea. I've heard plenty of claims that multithreading helps
> > building good GUIs (see e.g. BeOS), yet most popular GUIs (including
> > TK and I think GTK too) seem to manage fine without multithreading.
>
> Well, from Jacques message, gtk+ is thread safe, while tcl/tk is not.
>
> Now i don't know if that helps a lot. Personnally i don't use threads when
> writing GUIs, and am still strugling with modules and functors for it ...
This helps when you build network applications: you naturally want to
have multiple threads, and having to route all GUI calls through a
single thread is a pain.
Remark however that lablgtk does not really use gtk's (partial)
thread-safety: caml programs use a central lock anyway. The difference
is that lablgtk's code is reentrant, and camltk/labltk code is not
(due to a large number of tables to handle callbacks). But gtk's
re-entrance may come handy at some other time.
Cheers,
Jacques Garrigue
---------------------------------------------------------------------------
Jacques Garrigue Kyoto University garrigue at kurims.kyoto-u.ac.jp
<A HREF=http://wwwfun.kurims.kyoto-u.ac.jp/~garrigue/>JG</A>
next prev parent reply other threads:[~2001-02-08 18:48 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-02-05 17:48 Daniel Ortmann
2001-02-06 9:28 ` Xavier Leroy
2001-02-06 18:19 ` Sven LUTHER
2001-02-07 21:30 ` Pierre Weis
2001-02-08 7:32 ` Sven
2001-02-08 1:59 ` Jacques Garrigue [this message]
2001-02-08 7:55 ` Sven
2001-02-09 8:47 ` Claudio Sacerdoti Coen
2001-02-09 10:00 ` Sven LUTHER
2001-02-08 20:35 ` Brian Rogoff
2001-02-09 1:28 ` Jacques Garrigue
2001-02-09 18:11 ` Brian Rogoff
2001-02-10 13:01 ` Jacques Garrigue
2001-02-09 20:01 ` Marcin 'Qrczak' Kowalczyk
2001-02-12 14:52 ` Nicolas barnier
2001-02-12 23:47 ` Jacques Garrigue
2001-02-15 12:21 ` [Caml-list] " Sven LUTHER
2001-02-08 10:28 ` Alan Schmitt
2001-02-09 1:24 ` bcpierce
2001-02-06 20:30 ` Dale Arntson
2001-02-07 0:39 ` John Max Skaller
2001-02-08 20:01 ` Francois Rouaix
2001-02-09 9:41 ` Sven LUTHER
2001-02-09 9:49 ` Jacques Garrigue
2001-02-09 19:58 ` Jerome Vouillon
2001-02-10 12:36 ` Jacques Garrigue
2001-02-10 21:25 ` Pierre Weis
2001-02-09 17:50 ` John Max Skaller
2001-02-06 19:33 Maxence
2001-02-09 23:31 Arturo Borquez
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20010208105941X.garrigue@kurims.kyoto-u.ac.jp \
--to=garrigue@kurims.kyoto-u.ac.jp \
--cc=caml-list@inria.fr \
--cc=luther@dpt-info.u-strasbg.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox