Lisp/Variabili nel LISP

Wikibooks, manuali e libri di testo liberi.
Jump to navigation Jump to search
Indice del libro

Le variabili in Lisp non sono tipizzate, cioè non assumono la tipologia (int, char, stringa, float, ecc...) sino a quando non vengono valutate (eval ...) dalla engine Lisp.

Le variabili quindi assumono un significato e un tipo solo quando il processo di EVAL le considera per l'esecuzione di una funzione.

Tutti i linguaggi creano le variabili e allocano lo spazio di memoria delle medesime assegnando ad esse una dimensione in funzione del tipo di variabile:

 int a, b,c;
 float f1, Tarc, ...;

Nel Lisp le variabili sono memorizzate nella forma di liste e verranno usate per la tipologia richiesta solo quando una funzione ne prende in esame il contenuto:

 > (setq val1 10)
 10
 > (setq val2 167)
 167
 > (+ val1 val2 )
 177
 > (setq val2 178)
 178
 > (+ val1 val2)
 188
 > (setq val2 "la casa al mare")  <--- cambio di tipo della variabile
 "la casa al mare"
 > (+ val1 val2 )     <------- errore si tenta la somma di tipi diversi