Du kan vokse og utvide kraften i Lisp programmeringsspråk gjennom bruk av makroer . Gjelder Lisp makroer et navn til en kombinasjon av eksisterende deler av Lisp språk, Lisp biblioteker eller funksjoner du skriver for å lage et nytt språk funksjon som vil vurdere som alle andre Lisp språk komponent. Makroer er en form for snarvei --- når du vurderer en makro , utvides tolk makroen inn koden det omslutter , så utfører den koden . Et eksempel på en Lisp makro du kan lage er en Fahrenheit til Celsius temperatur konvertering verktøyet . Dette eksemplet viser hvordan en makro kan kombinere annen makro og en Lisp funksjon . Du trenger
en datamaskin med Common Lisp Installert .
Vis flere instruksjoner
en
Start kommandolinjen terminal ved å klikke på "Start "-knappen og klikke på " Kjør "-menyen. Skriv "command " inn i boksen , og klikk " OK ".
2
Start Common Lisp tolk ved å skrive " clisp " ved ledeteksten . Trykk på "Enter "-tasten.
3
Skriv inn koden for den første delen av programmet på Lisp ledeteksten . Din nye makro består av en annen makro kalt Ratio . Den Defmacro kommandoen oppretter makroen , som inneholder skråningen av handlingen i Celsius versus Fahrenheit .
( Defmacro ratio ( ) ( /5,0 9,0 ) )
4
Skriv inn koden for den andre delen av makroen ved Lisp ledeteksten . Funksjonen " diff " trekker 32 fra temperaturen i Fahrenheit
. ( Defun diff ( x ) ( - x 32.0 ) )
5
Skriv inn koden for den siste delen av makroen ved Lisp ledeteksten . Makroen " fc " aksepterer temperaturen i Fahrenheit , multiplisert med forholdet , multipliserer det med " diff , " skriver ut så resultatet .
( Defmacro fc ( x ) ( * ( ratio ) ( diff x ) ) )
6
Test makroen ved å skrive " (fc 98,6 )" på Lisp ledeteksten . Tolken skal skrives ut 37,0 , noe som er 98,6 eller kroppstemperatur i grader Celsius .