Hi,
I've written a Common Lisp package I would like to host on Common-Lisp.net.
The package is called clTcl and it provides an interface to Wish's GUI libraries via Tcl/Tk scripts embedded in Common Lisp. See the description below for more details.
Would you consider hosting my package? I plan to release the code with an Mit license. My gpg fingerprint is:
pub 1024D/0D08D694 2008-08-01 Key fingerprint = D560 66CA 8555 6B15 A02E 3695 B03B 3639 0D08 D694 uid Paul Richard Griffioen (PRG) p.r.griffioen@chello.nl sub 2048g/CD27B98E 2008-08-01
Below is some text I wrote for the readme file. I hope it explains what clTcl is.
Kind regards,
Paul Griffioen
What does the clTcl package do? -------------------------------
Package clTcl provides an interface to Wish's GUI libraries via Tcl/Tk scripts embedded in Common Lisp.
Functions are provided to launch the Wish interpreter and set up a stream for communication. Embedded Tcl/Tk scripts are read as lists of Common Lisp strings. Synchronous communication is provided to send these strings to Wish for interpretation.
What is in the clTcl package? -----------------------------
A general reader function takes advantage of Tcl's uniform syntax and eases handling of Tcl scripts and values. Tcl scripts and values are strings but possibly with some list structure encoded. The reader follows Tcl's syntax rules, takes care of proper escaping and outputs one or more Common Lisp strings. This is used when reading Tcl scripts embedded in Common Lisp sources and when converting between Tcl lists and Lisp lists during communication with Wish.
A thin compatibility layer sets up a stream to a Wish interpreter. Starting the Wish interpreter is the only implementation dependent part of the clTcl package. This layer takes care of that and provides functions to read and write to the stream. Parts of this layer are copied from the lisp2wish package.
A primitive communication protocol on top of the compatibility layer synchronizes the control flow between Wish and Lisp. A blocking callback mechanism is added to initiate Lisp functions from the GUI. Errors on Wish's side are read and thrown at the Lisp side.
What are clTcl's benefits? --------------------------
- Cross-platform GUI programming. Common Lisp and Wish both run on many systems. - Copy code snippets directly into your code. Many Tcl/Tk scripts are available and can be used without any modification. - Easy to use and adapt. The small code size (around 0.5 KLOC) makes it easy to embrace and extend the package.