Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Lisp GUI Toolkit (Tk?), Extensions, Deployment

218 views
Skip to first unread message

Eckhard Lehmann

unread,
Jun 12, 2013, 2:35:46 PM6/12/13
to
Hello,

I am about to have a closer look at Common Lisp (decided to use Emacs +
SLIME and CLISP to do some toy programming in my spare time).

Now there are some question and I would find it useful to get input from
experienced users:

- What GUI Toolkits do you use and which one is the best for Platform
independent development?
I have done a lot in Tcl/Tk and I am somehow addicted to Tk. is there a
usable binding which provides all the Tk functionality, as there is with
Python Tkinter for example? Or are there better options available?

- How to install extensions
Is there a standard way to install extension libraries somewhere, so
that the lisp interpreter (CLISP in my case) finds them? In Tcl there is
the ::auto_path list, which is simply extended by the directory of the
package and the interpreter reads a pkgIndex.tcl file automatically,
which provides the package on [package require]. How is this done in Lisp?

- How about deployment
What is the best way to deploy a Lisp program, once it is finished? Is
it possible to wrap a Lisp interpreter with all the libraries and
scripts together, which can be copied on the client machine? Once I
heard about a machine code compiler... is that an option? Or is there
another way to get your fine program to your customer (who doesn't care
about the language in which it is developed)?

Thanks in advance & Best Regards

--
Eckhard

Marco Antoniotti

unread,
Jun 12, 2013, 5:37:09 PM6/12/13
to
On Wednesday, June 12, 2013 8:35:46 PM UTC+2, Eckhard Lehmann wrote:
> Hello,
>
>
>
> I am about to have a closer look at Common Lisp (decided to use Emacs +
> SLIME and CLISP to do some toy programming in my spare time).
>
> Now there are some question and I would find it useful to get input from
> experienced users:
>
> - What GUI Toolkits do you use and which one is the best for Platform
> independent development?

I use CAPI, but it is commercial.

> I have done a lot in Tcl/Tk and I am somehow addicted to Tk. is there a
> usable binding which provides all the Tk functionality, as there is with
> Python Tkinter for example? Or are there better options available?

There is Ltk, However, it may be a bit limited. In particular last I checked (it may have changed) you were constrained by invoking the main loop manually and exclusively.

> - How to install extensions
>
> Is there a standard way to install extension libraries somewhere, so
> that the lisp interpreter (CLISP in my case) finds them?

Look up quicklisp.



> In Tcl there is
> the ::auto_path list, which is simply extended by the directory of the
> package and the interpreter reads a pkgIndex.tcl file automatically,
> which provides the package on [package require]. How is this done in Lisp?
>
> - How about deployment
>
> What is the best way to deploy a Lisp program, once it is finished? Is
> it possible to wrap a Lisp interpreter with all the libraries and
> scripts together, which can be copied on the client machine? Once I
> heard about a machine code compiler... is that an option? Or is there
> another way to get your fine program to your customer (who doesn't care
> about the language in which it is developed)?

Yes. All of this is possible and all CL implementations come with a compiler. Most with a down-to-assembly compiler and some are actually "compile-only", like SBCL. Deployment is however, implementation dependent.

Hope it helps.

MA

Pascal J. Bourguignon

unread,
Jun 13, 2013, 5:09:09 PM6/13/13
to
Eckhard Lehmann <elehm...@gmail.com> writes:

> Hello,
>
> I am about to have a closer look at Common Lisp (decided to use Emacs
> + SLIME and CLISP to do some toy programming in my spare time).
>
> Now there are some question and I would find it useful to get input
> from experienced users:
>
> - What GUI Toolkits do you use and which one is the best for Platform
> independent development?

How needs a toolkit? Seriously. Check the sokoban example, written
directly in X11: http://www.clisp.org/impnotes.html#incmod-toys

I always compile my emacs --with-x-toolkit=no
--without-toolkit-scroll-bars --with-x.


> I have done a lot in Tcl/Tk and I am somehow addicted to Tk. is there
> a usable binding which provides all the Tk functionality, as there is
> with Python Tkinter for example? Or are there better options
> available?


Ok, so you do need a toolkit. Indeed, there's Ltk.


> - How to install extensions
> Is there a standard way to install extension libraries somewhere, so
> that the lisp interpreter (CLISP in my case) finds them?

Yes, it's quicklisp.


> - How about deployment
> What is the best way to deploy a Lisp program, once it is finished?

Again, quicklisp. You just push the sources with an .asd file to some
git server, and tell Xach about them for inclusion in the quicklisp
distribution.


> Is it possible to wrap a Lisp interpreter with all the libraries and
> scripts together, which can be copied on the client machine? Once I
> heard about a machine code compiler... is that an option? Or is there
> another way to get your fine program to your customer (who doesn't
> care about the language in which it is developed)?

Yes, you can also compile and generate an executable.
http://www.clisp.org/impnotes.html#image


--
__Pascal Bourguignon__ http://www.informatimago.com/
A bad day in () is better than a good day in {}.
You can take the lisper out of the lisp job, but you can't take the lisp out
of the lisper (; -- antifuchs

Didier Verna

unread,
Jun 14, 2013, 2:26:55 AM6/14/13
to
"Pascal J. Bourguignon" <p...@informatimago.com> wrote:

> Eckhard Lehmann <elehm...@gmail.com> writes:
>
>> I have done a lot in Tcl/Tk and I am somehow addicted to Tk. is there
>> a usable binding which provides all the Tk functionality, as there is
>> with Python Tkinter for example? Or are there better options
>> available?
>
> Ok, so you do need a toolkit. Indeed, there's Ltk.

My $.02: Ltk is not really a binding but a layer on top of Tk with
more abstraction. I've played with it recently and my impression was
not so good. Most basic examples don't work, outdated or incomplete
doc, inconsistent API at places, not very actively maintained...

For simple GUIs, it might still be the best option
available. Otherwise, I would (and I will) have a look at the ECL/EQL
combination. It seems promising.

--
Resistance is futile. You will be jazzimilated.

Lisp, Jazz, Aïkido: http://www.didierverna.info

Kenneth Tilton

unread,
Jun 17, 2013, 10:19:39 AM6/17/13
to
On Wednesday, June 12, 2013 2:35:46 PM UTC-4, Eckhard Lehmann wrote:
> Hello,
>
>
>
> I am about to have a closer look at Common Lisp (decided to use Emacs +
>
> SLIME and CLISP to do some toy programming in my spare time).
>
>
>
> Now there are some question and I would find it useful to get input from
>
> experienced users:
>
>
>
> - What GUI Toolkits do you use and which one is the best for Platform
>
> independent development?

I use qooxlisp: https://github.com/kennytilton/qooxlisp

(Forget the desktop, it is deader than Lisp.)

>
> I have done a lot in Tcl/Tk and I am somehow addicted to Tk. is there a
>
> usable binding which provides all the Tk functionality, as there is with
>
> Python Tkinter for example? Or are there better options available?

I, too, recommend LTk for a quick start and instant gratification (always good). Then you can upgrade to Celtk, which uses FFI instead of a pipe to talk with Tk: https://github.com/kennytilton/celtk

-kt
0 new messages