Tu banner alternativo

Lisp Toolkit

In questo articolo affronteremo il tema Lisp Toolkit, una questione di attualità che ha suscitato grande interesse e dibattito. Lisp Toolkit è stato oggetto di studi, analisi e riflessioni da parte di esperti del settore, ma anche di persone interessate a comprenderne meglio l'impatto e la portata. Nel corso degli anni Lisp Toolkit si è evoluto e ha acquisito diverse sfumature, rendendolo una materia estremamente complessa e multidimensionale. In questo senso è fondamentale approfondirne gli aspetti più rilevanti, le implicazioni e le possibili ricadute a livello individuale e collettivo. In questo articolo approfondiremo l’universo di Lisp Toolkit, affrontandone le molteplici sfaccettature con l’obiettivo di fornire una visione completa e arricchente di questo argomento oggi così attuale.

Tu banner alternativo
Esempio di interfaccia creata con LTK

LTK è acronimo di Lisp Toolkit, una libreria per la creazione di interfacce grafiche multipiattaforma scritte in Common LISP.

Funzionamento

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

Caricamento di LTK

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

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

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

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