 | | From: | Peter Seibel | | Subject: | lgtk vs lambda-gtk | | Date: | Wed, 19 Jan 2005 18:49:12 GMT |
|
|
 | Can anyone summarize the differences between these two libraries?
-Peter
-- Peter Seibel peter@javamonkey.com
Lisp is the red pill. -- John Fraser, comp.lang.lisp
|
|
 | | From: | Mario S. Mommer | | Subject: | Re: lgtk vs lambda-gtk | | Date: | Wed, 19 Jan 2005 23:29:37 +0100 |
|
|
 | Peter Seibel writes: > Can anyone summarize the differences between these two libraries?
As far as I can tell, lambda-gtk is more low level. It is also (far) more complete.
lgtk was my attempt to create reasonably lispy bindings to gtk in a reasonably portable way. So you can tack whatever is callable as a callback to whatever object and all just works as you expect. Garbage collection works on the widgets, the callbacks, etc. so in case you loose all references to some widgets for whatever reason, you can always reclaim them. If you destroy a widget, the corresponding callbacks also get reclaimed eventually.
lgtk also includes some tricks to work nicely with the debugger (I don't know whether lambda-gtk/cells-gtk offer a lot of support in that area, but I suspect they don't). The problem is that if a callback lands in the debugger you cannot just unwind the stack from under gtk's feet without confusing it thoroughly.
At the moment I don't have the energy and the time to continue the project, although I plan to do so when things settle.
|
|
 | | From: | R. Mattes | | Subject: | Re: lgtk vs lambda-gtk | | Date: | Wed, 19 Jan 2005 22:04:48 +0100 |
|
|
 | On Wed, 19 Jan 2005 18:49:12 +0000, Peter Seibel wrote:
> Can anyone summarize the differences between these two libraries?
Well, i'm sure the experts[1] have to say more, but: lambda-gtk provides bindings to the popular gtk2 GUI framework by means of a convenient CL wrapper around FFI bindings to the frameworks elf libraries. These FFI bindings are auto-generated by using a modified version of the gcc compiler (called ffigen) to parse header files and generate s-expressions.
lgtk interfaces with the TK GUI framework (the graphical part of TCL/TK which once started guile development): it does this by starting an instance of 'wish' (TK's "windowing" shell) and sending it commands/retrieving output and events (over a socket). This is basically picking up the old idea of a "GUI-server".
HTH Ralf Mattes
> > -Peter
[1] Peter Heth for lgkt and Rick Taube for lambda-gtk
|
|
 | | From: | Christophe Rhodes | | Subject: | Re: lgtk vs lambda-gtk | | Date: | Wed, 19 Jan 2005 20:30:27 +0000 |
|
|
 | "R. Mattes" writes:
> On Wed, 19 Jan 2005 18:49:12 +0000, Peter Seibel wrote: > >> Can anyone summarize the differences between these two libraries? > > Well, i'm sure the experts[1] have to say more, but: > > [ snip entirely wrong stuff ]
No need to be an expert -- just to spot the difference between "lambda-gtk", "lgtk", and "ltk".
Christophe
|
|
 | | From: | R. Mattes | | Subject: | Re: lgtk vs lambda-gtk | | Date: | Wed, 19 Jan 2005 22:17:59 +0100 |
|
|
 | On Wed, 19 Jan 2005 22:04:48 +0100, R. Mattes wrote:
> On Wed, 19 Jan 2005 18:49:12 +0000, Peter Seibel wrote: > >> Can anyone summarize the differences between these two libraries? > > Well, i'm sure the experts[1] have to say more, but: > > lambda-gtk provides bindings to the popular gtk2 GUI framework by means > of a convenient CL wrapper around FFI bindings to the frameworks elf > libraries. These FFI bindings are auto-generated by using a modified > version of the gcc compiler (called ffigen) to parse header files and > generate s-expressions. > > lgtk interfaces with the TK GUI framework (the graphical part of TCL/TK > which once started guile development): it does this by starting an > instance of 'wish' (TK's "windowing" shell) and sending it > commands/retrieving output and events (over a socket). This is basically > picking up the old idea of a "GUI-server".
Darn, too much time in front of the scrren -- these abrevs get me :-) I was talking about ltk - _not_ lgtk ...
Sorry about the confusion :-/
Ralf Mattes
> > >> >> -Peter > > > [1] Peter Heth for lgkt and Rick Taube for lambda-gtk
|
|
 | | From: | Kenny Tilton | | Subject: | Re: lgtk vs lambda-gtk | | Date: | Wed, 19 Jan 2005 20:11:05 GMT |
|
|
 |
Peter Seibel wrote:
> Can anyone summarize the differences between these two libraries?
That's easy. lgtk differs from cells-gtk in that it is not active. lambda-gtk differs from cells-gtk in that it is not portable.
:)
kt
ps. I know, you are waiting for an Install wizard for Cells. k
-- Cells? Cello? Celtik?: http://www.common-lisp.net/project/cells/ Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film
|
|
 | | From: | Peter Seibel | | Subject: | Re: lgtk vs lambda-gtk | | Date: | Wed, 19 Jan 2005 21:43:23 GMT |
|
|
 | Kenny Tilton writes:
> Peter Seibel wrote: > >> Can anyone summarize the differences between these two libraries? > > That's easy. lgtk differs from cells-gtk in that it is not active. > lambda-gtk differs from cells-gtk in that it is not portable. > > :)
And cell-gtk differs from the both in that the poor Lisp newbie who is told that it's the best way to use GTK from Lisp wonders why he has to wrap his brain around some dataflow engine invented by a known-monkey-slaver. ;-)
Doesn't cells-gtk just sit on top of one or the other of these? Or do you have your *own* GTK bindings. And if so, is it possible to use them separately from from cells-gtk?
> ps. I know, you are waiting for an Install wizard for Cells. k
How about just working links to the docs for Cells? I tried clicking on the Documentation links at:
and got errors on them all. (The download links also seem busted.)
-Peter
-- Peter Seibel peter@javamonkey.com
Lisp is the red pill. -- John Fraser, comp.lang.lisp
|
|
 | | From: | Kenny Tilton | | Subject: | Re: lgtk vs lambda-gtk | | Date: | Wed, 19 Jan 2005 22:04:35 GMT |
|
|
 |
Peter Seibel wrote:
> Kenny Tilton writes: > > >>Peter Seibel wrote: >> >> >>>Can anyone summarize the differences between these two libraries? >> >>That's easy. lgtk differs from cells-gtk in that it is not active. >>lambda-gtk differs from cells-gtk in that it is not portable. >> >>:) > > > And cell-gtk differs from the both in that the poor Lisp newbie who is > told that it's the best way to use GTK from Lisp wonders why he has to > wrap his brain around some dataflow engine invented by a > known-monkey-slaver. ;-)
It is not my fault you did not do a chapter on Cells. :)
> > Doesn't cells-gtk just sit on top of one or the other of these? Or do > you have your *own* GTK bindings. And if so, is it possible to use > them separately from from cells-gtk?
Yes.
> > >>ps. I know, you are waiting for an Install wizard for Cells. k > > > How about just working links to the docs for Cells? I tried clicking > on the Documentation links at: > > > > and got errors on them all. (The download links also seem busted.)
The way it works is: click on the link, get an error, flame me by email, then I send you the right link (on tilton-technology.com).
I think you are missing step 3.
Now how on earth did Vasilis do the entirety of cells-gtk sending me only one email (containing a zip file of cells-gtk when it was done)?
kt
-- Cells? Cello? Celtik?: http://www.common-lisp.net/project/cells/ Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film
|
|
 | | From: | GP lisper | | Subject: | Re: lgtk vs lambda-gtk | | Date: | Fri, 21 Jan 2005 15:10:54 GMT |
|
|
 | On Wed, 19 Jan 2005 22:04:35 GMT, wrote: > > Peter Seibel wrote: >> Kenny Tilton writes: >>>Peter Seibel wrote: >>> >>>>Can anyone summarize the differences between these two libraries? >>> >>>That's easy. lgtk differs from cells-gtk in that it is not active. >>>lambda-gtk differs from cells-gtk in that it is not portable. >>> >> And cell-gtk differs from the both in that the poor Lisp newbie who is >> told that it's the best way to use GTK from Lisp wonders why he has to >> wrap his brain around some dataflow engine invented by a >> known-monkey-slaver. ;-) > > It is not my fault you did not do a chapter on Cells. :)
Well, the last chapter is not finished, so you cannot claim that yet...
-- Everyman has three hearts; one to show the world, one to show friends, and one only he knows.
|
|
 | | From: | R. Mattes | | Subject: | Re: lgtk vs lambda-gtk | | Date: | Wed, 19 Jan 2005 22:20:31 +0100 |
|
|
 | On Wed, 19 Jan 2005 20:11:05 +0000, Kenny Tilton wrote:
> > > Peter Seibel wrote: > >> Can anyone summarize the differences between these two libraries? > > That's easy. lgtk differs from cells-gtk in that it is not active. > lambda-gtk differs from cells-gtk in that it is not portable.
My main problem with lambda-gtk's portability so far has been the FFI callback support for both OpenMCL and SBCL on GNU/Linux/PPC (or better, it's lack). Will cells-gtk give me more? (Pleeeeease say yes, i desperately need a reason to dive into cells)
RalfD > :) > > kt > > ps. I know, you are waiting for an Install wizard for Cells. k
|
|
 | | From: | Kenny Tilton | | Subject: | Re: lgtk vs lambda-gtk | | Date: | Wed, 19 Jan 2005 21:54:29 GMT |
|
|
 |
R. Mattes wrote:
> On Wed, 19 Jan 2005 20:11:05 +0000, Kenny Tilton wrote: > > >> >>Peter Seibel wrote: >> >> >>>Can anyone summarize the differences between these two libraries? >> >>That's easy. lgtk differs from cells-gtk in that it is not active. >>lambda-gtk differs from cells-gtk in that it is not portable. > > > My main problem with lambda-gtk's portability so far has been the > FFI callback support for both OpenMCL and SBCL on GNU/Linux/PPC > (or better, it's lack). > Will cells-gtk give me more? (Pleeeeease say yes, i desperately need > a reason to dive into cells)
Cells-gtk exists in two forms. First is Vasilis Margioulas's brilliant original for CLisp, crucially using new CLisp FFI stuff not ported to Mac OS X as of a month or two ago. That bad boy has been tested on :
"Tested on: Windows xp with gtk 2.4.10 and clisp 2.33 Linux (fedora 2) with clisp 2.33"
The second variant is my UFFI-ization of that work. That runs on win32 under AllegroCL and Lispworks, and Andras Simon has pitched in to get it working under (I forget) CMUCL or SBCL on some Linux.
To be honest, other Lisp business intruded just as I was about to apply Andras's final tweaks to the CVS repository, but I could stir my lazy butt long enough to apply those if anyone is interested. It is really just a few things.
Note that as a couple of Lispniks noted recently, none of my stuff is appropriate for anyone who will run screaming at the first install problem and who does not know how to use email to say "Yo, Kenny, WTF?". As anyone who has emailed me can tell you, I will not rest until you have succeeded in getting the stuff working. But as God said to the guy who prayed every day to win the lottery, "meet me half-way, kenny. buy a ticket."
btw, vasilis it turns out really leaned on Cells, in that he did a ton of things in which the interface morphed in response to user activity. He also did just about everything one could hope to do in that regard with Gtk, so the demo app is my kinda documentation.
But for those who like real documentation, nope. Tho of course to some extent Gtk doc is cells-gtk doc.
kt
-- Cells? Cello? Celtik?: http://www.common-lisp.net/project/cells/ Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film
|
|