Ciao a tutti,

il mio problema è quello di fare una funzione che accetti una serie di atomi/liste; il valore di un atomo passato come parametro è il nome da assegnare ad una variabile globale che creerò all'interno della funzione stessa.

è possibile farlo in lisp?

mi spiego meglio, quello che vorrei fare è una cosa tipo questa:

(defun define-obj (nome-obj .......)
(defparameter nome-obj (make-hash-table))
......
......)

problema: mi crea una variabile "nome_obj" e non con il nome che gli passo come parametro. e non trovo il modo di fare cio che ho descritto.

Lo scopo è puramente didattico e consiste nel creare delle hash table che simulano una classe i un linguaggio ad oggetti senza usare funzioni come defclass o altro, i cui valori all'interno siano campi:

nome_attributo --> valore

dove nome_attributo simula il nome di una variabile di istanza o il nome di un metodo ed il valore è il reale valore di una variabile o il corpo di un metodo/funzione.

Aiutoooo.