[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GUI, Tk, with-wish



Matthias Lindner wrote:

> I have tried different built-in GUIs for CommonLisp (Lucid with
> LispView, Allegro with CommonWindows, CLISP with StdWin, CLIO). 
> Forget it - period.
> That's why I wrote with-wish.

That's a clear statement. :-)

It looks like the big packages Garnet, Amulet, CLIM
  * are hard to learn (huge libraries),
  * may require some non-negligible effort for binding to CLISP (Amulet),
    or for completing (CLIM).

So what we want is a binding with Tcl/Tk. Some pieces are already there:

  - Tcl/Tk 8.0 is officially supported by Sun, and ports over seamlessly
    to Unix and Win32,

  - with-wish provides a working low-level interface with Tcl/Tk, based
    on pipes,

  - The STklos directory of the STk-3.1.1 distribution contains CLOS
    classes for all the Tk widgets. (Much nicer than Bill Schelter's
    gcl-tk package and its descendent called lisp-tk-0.1.)

What remains to be done, it to put these pieces together. Whoever does it,
I encourage you to do it. Looks like no C/FFI hacking will be involved.

You cannot make Tcl disappear, because Tk is based on it, but with STklos
it's completely hidden.

> I don't know if clisp-win32 currently supports sockets.

Yes, clisp-win32 supports sockets, but pipes will do the job, if the
machine running clisp is also the displaying machine.

> You have three processes hanging around which is not soooooo good, but
> even Windows should be able to handle three processes today (whow!).

Having the clisp process distinct from the Tcl/Tk process has at least
three advantages:
  - Redraw events can be handled while clisp is waiting in the read-eval-
    print loop.
  - Bugs in Tcl/Tk appear as such and don't make clisp crash :-),
  - The resulting package could easily be used in other Lisps, not
    only clisp.

Just my thoughts. Have fun,

                    Bruno

URLs:
  Tcl/Tk:     ftp://ftp.sunlabs.com/pub/tcl/
              http://www.sco.com/Technology/tcl/Tcl.html
  with-wish:  ftp://ma2s2.mathematik.uni-karlsruhe.de/pub/lisp/clisp/contrib/
  Stk:        http://kaolin.unice.fr/
              ftp://kaolin.unice.fr/pub/