From: Peter Seibel
Subject: lgtk vs lambda-gtk
Date: 
Message-ID: <m31xchl0fu.fsf@javamonkey.com>
Can anyone summarize the differences between these two libraries?

-Peter

-- 
Peter Seibel                                      ·····@javamonkey.com

         Lisp is the red pill. -- John Fraser, comp.lang.lisp

From: Kenny Tilton
Subject: Re: lgtk vs lambda-gtk
Date: 
Message-ID: <t9zHd.57341$kq2.23517@twister.nyc.rr.com>
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: 
Message-ID: <m33bwxjdt4.fsf@javamonkey.com>
Kenny Tilton <·······@nyc.rr.com> 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:

  <http://common-lisp.net/project/cells/>

and got errors on them all. (The download links also seem busted.)

-Peter


-- 
Peter Seibel                                      ·····@javamonkey.com

         Lisp is the red pill. -- John Fraser, comp.lang.lisp
From: Kenny Tilton
Subject: Re: lgtk vs lambda-gtk
Date: 
Message-ID: <TPAHd.57874$kq2.49541@twister.nyc.rr.com>
Peter Seibel wrote:

> Kenny Tilton <·······@nyc.rr.com> 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:
> 
>   <http://common-lisp.net/project/cells/>
> 
> 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: 
Message-ID: <1106320254.5e3a7aa061a5c1fca5de9bc33d76d186@teranews>
On Wed, 19 Jan 2005 22:04:35 GMT, <·······@nyc.rr.com> wrote:
>
> Peter Seibel wrote:
>> Kenny Tilton <·······@nyc.rr.com> 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: 
Message-ID: <pan.2005.01.19.21.20.31.117614@mh-freiburg.de>
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: 
Message-ID: <pGAHd.57812$kq2.49863@twister.nyc.rr.com>
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
From: R. Mattes
Subject: Re: lgtk vs lambda-gtk
Date: 
Message-ID: <pan.2005.01.19.21.04.47.421020@mh-freiburg.de>
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: 
Message-ID: <sq4qhd40ws.fsf@cam.ac.uk>
"R. Mattes" <··@mh-freiburg.de> 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: 
Message-ID: <pan.2005.01.19.21.17.56.961265@mh-freiburg.de>
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: Mario S. Mommer
Subject: Re: lgtk vs lambda-gtk
Date: 
Message-ID: <fzacr5qcha.fsf@germany.igpm.rwth-aachen.de>
Peter Seibel <·····@javamonkey.com> 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.