<\body> Das im Quellcode-Modus erscheinende Menü enhält eine Anzahl von Konstrukten, mit denen sich die Evaluierung von Ausdrücken der Stil-Definitions-Sprache steuern lässt. Die wichtigste Anwendung solcher Konstrukte ist der Gebrauch in \RMeta-Makros'', die Makros als Argumente nehmen, um diese zu ändern wie z.B. das unten definierte :\ <\tm-fragment> |>. >||>>>>>>> Mit dem Aufruf >, werden zuerst alle -Befehle innerhalb des -Konstrukts ausgeführt, was zuu folgendem Ausdruck führt:\ <\tm-fragment> ||>>>> Dann wird dieser Ausdruck evaluiert. Das definiert das Makro . Man beachte, dass -Evaluierungsregeln sich etwas von den Scheme-Regeln unterscheiden. Diese geringfügigen Unterschiede sollen es dem Anwender besonders leicht machen, Makros für den Schriftsatz zu schreiben.\ Beipielsweise, wenn ein Makro >|>>|>|body>> mit den Argumenten > bis > aufruft, bleiben die Argumentvariablen > bis > an die unevaluierten Ausdrücke > bis > gebunden bis der Rumpf, body, mit diesen Bindungen evaluiert worden ist. Die Evaluierung von > wird jedesmal durchgeführt, wenn das Argument > aufgerufen wird. Wenn also ein Makro und nochmal >> auf den Ausdruck angewandt wird, wird der Ausdruck genau zweimal ausgewertet. In werden die Rümpfe von -Makros zweimal evaluiert, während bei Funktionen die Argumente evaluiert werden. Dagegen wird, wenn auf eine Variable zugegriffen wird, der Wert nicht evaluiert, gleichgültig, ob es sich um ein Argument oder eine Kontext-Variable handelt. Daher entspricht das -Makro <\tm-fragment> |>>>> dem folgenden -Makro: <\scheme-fragment> (define-macro (foo x) \ \ `(let ((x (lambda () ,x))) \ \ \ \ \ (blah (x) (x))) Umgekehrt gehören zu dem folgenden -Makro bzw. -Funktion <\scheme-fragment> (define-macro (foo x) (blah x x)) (define (fun x) (blah x x)) die folgenden -Analoga: <\tm-fragment> <\inactive*> |>>>> <\inactive*> ||>>>> Hier wurden die Konstrukte und dazu benutzt Argumente bzw. Kontext-Variable aufzurufen. Die -Konstrukte , , und verhalten sich wie ihre -Analoga. Das -Konstrukt ist eine Abkürzung für gefolgt von Evaluierung. <\initial> <\collection>