From: Friedrich on
I know that there are some packages available. I just wonder what are
the most stable? And which one has bindings to LispWorks and SBCL?

Regards
Friedrich

--
Please remove just-for-news- to reply via e-mail.
From: Peter Hildebrandt on
Friedrich wrote:
> I know that there are some packages available. I just wonder what are
> the most stable? And which one has bindings to LispWorks and SBCL?

What do you mean by "stable" in this context? The stability of an
application built on the package? The stability of the interface over time?

Apart from that, there is a list in [1]. Of those, I have looked at
cells-gtk, clg, and lambda-gtk. To me, the major distinction is their
respective level of abstraction. For you, compatibility with lispworks
might be an even stronger filter.

lambda-gtk [2] is almost a 1:1 mapping of GTK, but runs only on OpenMCL,
SBCL, and CMUCL.

clg [3] is more lispish and provides a clos interface to GTK, but runs
only on CMUCL, SBCL and CLISP

cells-gtk [4] -- my persnal favorite -- is cells inside (which is the
best way to do a GUI in my opinion). It is the only one I know of which
supports Lispworks on both Linux and Windows (along with
Allegro(Windows), CLISP(Linux, PC), SBCL(Linux), and CMUCL(Linux)).

Just for compatibility reasons, cells-gtk might be your choice. OTOH it
is quite different from raw GTK, so you will have to get used to it. I
recommend to get the latest version from CVS [5] which has a number of
improvements over the (two year old) tar release.

Currently there is ongoing work to port it to cells 3 (the current
version uses cells 2), to add an interactive cairo drawing area, and an
opengl widget. The latest version sits in the cells cvs [6].

HTH,
Peter

[1] http://www.cliki.net/GTK%20binding
[2] http://common-lisp.net/project/lambda-gtk/
[3] http://www.cliki.net/clg
[4] http://common-lisp.net/project/cells-gtk/
[5] http://common-lisp.net/cgi-bin/viewcvs.cgi/root/?cvsroot=cells-gtk
[6] http://common-lisp.net/cgi-bin/viewcvs.cgi/cells-gtk3/?root=cells

>
> Regards
> Friedrich
>
From: Friedrich on
Peter Hildebrandt <peter.hildebrandt(a)gmail.com> writes:

> Friedrich wrote:
>> I know that there are some packages available. I just wonder what are
>> the most stable? And which one has bindings to LispWorks and SBCL?
>
> What do you mean by "stable" in this context? The stability of an
> application built on the package? The stability of the interface over
> time?

the later, stability of the interface over time.

>
> lambda-gtk [2] is almost a 1:1 mapping of GTK, but runs only on
> OpenMCL, SBCL, and CMUCL.
>
> clg [3] is more lispish and provides a clos interface to GTK, but runs
> only on CMUCL, SBCL and CLISP
that's no good news.

Regards
Friedrich


--
Please remove just-for-news- to reply via e-mail.
From: C S S on
Peter Hildebrandt wrote:
> lambda-gtk [2] is almost a 1:1 mapping of GTK, but runs only on OpenMCL,
> SBCL, and CMUCL.
>
> clg [3] is more lispish and provides a clos interface to GTK, but runs
> only on CMUCL, SBCL and CLISP
>
> cells-gtk [4] -- my persnal favorite -- is cells inside (which is the
> best way to do a GUI in my opinion). It is the only one I know of which
> supports Lispworks on both Linux and Windows (along with
> Allegro(Windows), CLISP(Linux, PC), SBCL(Linux), and CMUCL(Linux)).
>

Please dont misunerstand my question, it should not be an offense, it is
only a question. I was wondering why it is (or seems) so hard to create
a portable GTK-Binding for CL. GTK is available on almost all Platforms
(as long as you use C/C++), what is the problem with creating portable
GTK-Bindings for Common Lisp? Isnt it enough to just use CFFI? I am
neither a GTK-Programmer, nor an expierienced CL-Programmer, but at
least as far as I know, GTK has nothing "difficult" except that it uses
Callbacks (which the CFFI supports in almost all CL-Versions), but since
much more expierienced people seemed to fail (I have not found a really
portable one yet, but as far as I read, cells-gtk is ported to the CFFI
now), there must be some problem. I am just interested, what that
problem is. I dont really need a portable GTK-Binding, but anyway this
is an interesting question.
From: D Herring on
C S S wrote:
> Peter Hildebrandt wrote:
>> lambda-gtk [2] is almost a 1:1 mapping of GTK, but runs only on
>> OpenMCL, SBCL, and CMUCL.
>>
>> clg [3] is more lispish and provides a clos interface to GTK, but runs
>> only on CMUCL, SBCL and CLISP
>>
>> cells-gtk [4] -- my persnal favorite -- is cells inside (which is the
>> best way to do a GUI in my opinion). It is the only one I know of
>> which supports Lispworks on both Linux and Windows (along with
>> Allegro(Windows), CLISP(Linux, PC), SBCL(Linux), and CMUCL(Linux)).
>>
>
> Please dont misunerstand my question, it should not be an offense, it is
> only a question. I was wondering why it is (or seems) so hard to create
> a portable GTK-Binding for CL. GTK is available on almost all Platforms
> (as long as you use C/C++), what is the problem with creating portable
> GTK-Bindings for Common Lisp? Isnt it enough to just use CFFI? I am
> neither a GTK-Programmer, nor an expierienced CL-Programmer, but at
> least as far as I know, GTK has nothing "difficult" except that it uses
> Callbacks (which the CFFI supports in almost all CL-Versions), but since
> much more expierienced people seemed to fail (I have not found a really
> portable one yet, but as far as I read, cells-gtk is ported to the CFFI
> now), there must be some problem. I am just interested, what that
> problem is. I dont really need a portable GTK-Binding, but anyway this
> is an interesting question.

My guess: size, mostly. Conversions can be mostly mechanized (a la
verrazano or swig) but then you feel like you're coding C in lisp -- a
most unpleasant experience. Adding a sane wrapper takes time,
directly proportional to the size of the library being bound...

Besides, Qt is vastly superior to GTK, so why bother. ;)

- Daniel