Vous pouvez cultiver et étendre la puissance du langage de programmation Lisp grâce à l'utilisation de macros. Macros Lisp appliquer un nom à une combinaison de parties existantes du langage LISP , des bibliothèques ou des fonctions Lisp que vous écrivez pour créer une nouvelle fonctionnalité de langage qui évaluera comme n'importe quel autre composant du langage Lisp . Les macros sont une forme de sténographie --- lorsque vous évaluez une macro, l'interprète élargit la macro dans le code qu'il encapsule , puis exécute ce code. Un exemple d'une macro Lisp , vous pouvez créer une Fahrenheit en Celsius utilitaire de conversion de température. Cet exemple montre comment une macro peut combiner une autre macro et une fonction Lisp . Choses que vous devez
un ordinateur avec Common Lisp installée .
Afficher plus Instructions
1
Lancez le terminal en ligne de commande en cliquant sur le bouton "Démarrer " et cliquer sur " exécuter " option de menu. Tapez "command " dans la zone de saisie , puis cliquez sur "OK".
2
lancé l'interpréteur Common Lisp en tapant " clisp " à l'invite de commande . Appuyez sur la touche "Entrée" .
3
Tapez le code de la première partie de la demande à l'invite de commande Lisp . Votre nouvelle macro se compose d'une autre macro ratio appelé . La commande defmacro crée la macro qui contient la pente de la courbe de Celsius par rapport à Fahrenheit .
(Ratio defmacro () ( /5.0 9.0) )
4
Tapez le code la deuxième partie de la macro à l'invite de commande Lisp . La fonction "diff" soustrait 32 de la température en degrés Fahrenheit
. (Diff defun ( x ) (- 32,0 x ) )
5
Tapez le code de la dernière partie de l' macro à l'invite de commande Lisp . La macro " fc " accepte la température en degrés Fahrenheit , le multiplie par le rapport , multiplie par " diff ", puis imprime le résultat.
( Defmacro fc ( x ) (* (ratio) (diff x ) ) )
6
test de la macro en tapant " ( fc 98,6 ) " à l'invite de commande Lisp . L'interprète doit imprimer 37.0 , qui est de 98,6 ou la température du corps en degrés Celsius.