Lisp/Tipi dati nel Lisp

Indice del libro

Nel Lisp le variabili sono s-expression. Il linguaggio a differenza di tutti gli altri linguaggi interpretati o compilati non tipizza il dato. Il Lisp non assume per una variabile un tipo di dati stabile ed unico, ma consente la massima libertà di azione nell'uso delle variabili, consentendo anche cambi di tipo in corso di esecuzione del software. Questa è una proprietà che consente ad una variabile (s-expression) di creare tipi astratti ed al programmatore di trasformare variabili in codice eseguibile. Il Lisp valuta il contenuto ed il tipo delle variabili solo quando una funzione esegue una operazione con il contenuto della S-expression.

 > (setq test 12)
 12 
 > test
 12
 > (setq test 10)
 10
 > test
 10
 > (setq test "gatto")
 "gatto"
 > test
 "gatto"

Come controllare che la variabile contenga il tipo giusto di variabile che una funzione si aspetta?

Esiste in Lisp una serie di funzioni booleane che consentono di testare le variabili Globali, Locali, o Passate nelle funzioni prima di attuare operazioni sulle medesime. Il sistema Lisp gestisce la creazione e la distruzione delle variabili riciclando lo spazio occupato in memoria con un sistema di Garbage-Collector.