Bonjour à tous,

Débutant en LISP, je commence à me poser quelques questions assez existentielles, à propos de la mémoire dans ce langage.

En testant une fonction 'factorielle' définie récursivement, j'ai pu observer que lisp (je suis sous clisp) permettait de calculer des nombres très très grands. L'interpréteur me renvoie une valeur (qui me parait correcte, plus ou moins) de factorielle(1000).

Ceci est impossible en C, ou en JAVA, avec les types primaires, ceux ci étant représentés (si je me souviens bien) sur un maximum de 4 octets. La fonction factorielle en C ou en JAVA ne donne de bonnes valeurs que pour n <= 20, ensuite -> débordement.

Quel miracle permet à LISP de renvoyer des valeurs aussi énorme ?
Si l'un d'entre vous a la réponse .. !!
Merci d'avance.