Lisp Toolkit
LTK è acronimo di Lisp Toolkit, una libreria per la creazione di interfacce grafiche multipiattaforma scritte in Common LISP.
Funzionamento[modifica | modifica wikitesto]
LTK contiene una serie di funzioni e di classi che convertono i comandi impartiti in Lisp in stringhe nel linguaggio di programmazione Tcl/Tk. Queste stringhe vengono inviate tramite uno stream bidirezionale all'apposito interprete wish (che deve essere installato sulla macchina), che elabora i comandi presenti nelle stringhe e si occupa della creazione delle finestre e dei widget.
Programmi di esempio[modifica | modifica wikitesto]
Caricamento di LTK[modifica | modifica wikitesto]
Prima di poter essere utilizzata, la libreria deve essere caricata dell'implementazione Common Lisp presente nel sistema. Per fare ciò conviene prima compilarla
(compile-file "ltk") ;; Compila la libreria
in modo che sia più rapidamente caricabile e utilizzabile in futuro tramite i comandi
(load "ltk") ;; Carica
(in-package :ltk) ;; Entra nel package di LTK
Esempi contenuti in LTK[modifica | modifica wikitesto]
La libreria contiene già due esempi
(ltktest) ;; Esempio di finestra con vari pulsanti, menu, popup, ecc.
(ltk-eyes) ;; Occhi che seguono il puntatore del mouse.
Creazione dell'interfaccia[modifica | modifica wikitesto]
Questa funzione crea una finestra e al suo interno un pulsante (b, istanza della classe button) con la scritta "Premi qui", che stampa in output la scritta "Hello world!".
(defun hello()
(with-ltk ()
(let ((b (make-instance 'button
:master nil
:text "Premi qui"
:command (lambda ()
(format t "Hello World!~&")))))
(pack b))))
Stato di sviluppo[modifica | modifica wikitesto]
LTK è in fase di sviluppo e non tutti i widget forniti da Tcl/Tk sono supportati. Ci sono anche alcuni problemi nella comunicazione con l'interprete wish in Microsoft Windows.
Collegamenti esterni[modifica | modifica wikitesto]
- (EN) Homepage del progetto, su peter-herth.de.
- Screenshots, su peter-herth.de.