Tk is a graphics toolkit for the tcl programming language developed by John Ousterhout. Initially developed for the X-Window system, it has been ported to a wide selection of operating systems, including Windows and MacOs. Due to ist ubiquous nature, its an ideal candidate to write a portable GUI library for Lisp.
While one can find many code snippets how to set up a communication with Tk from Lisp, the use of those to create actual programs, requires tcl/tk knowledge. In fact this way the GUIs are created by tcl code put into lisp programs. But one does not become a Lisp programmer to then write the GUIs in tcl/tk. So the Ltk library was born, to create a wrapper around Tk in pure Lisp. Ideally, no tcl/tk knowledge is required to write GUIs. However the lisp code is made closely to the tcl/tk library structure, so that the man pages for the tk widgets can serve as a detailled reference. They should be readable without any tcl knowledge.
The main objective for Ltk was to create a GUI library which is portable across different operating systems and Common Lisp implementations. Furthermore it should be easy to set up. So with the exception of one single function, the whole code of ltk is pure ANSI Common Lisp. No external programs besides a standard installation of tcl/tk are required.
Ltk supports the following Lisp systems: Allegro, CMUCL, CLisp, ECL, LispWorks, OpenMCL, SBCL. Ltk was successfully tested using Lispworks, CLisp, CMUCL, SBCL under Linux and Lispworks, CLisp, and SBCL using Mac OS X, CLisp, Allegro and Lispworks using Windows.