From a0f6fc32a81267154ed71f8668a1ecd227e7b37b Mon Sep 17 00:00:00 2001 From: Aaron Marks Date: Fri, 3 Jan 2020 23:29:15 +1000 Subject: Add rudimentary Chez support for macro expansion --- scheme/chez/geiser/geiser.ss | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'scheme/chez/geiser/geiser.ss') diff --git a/scheme/chez/geiser/geiser.ss b/scheme/chez/geiser/geiser.ss index 70b6b67..5c92a5b 100644 --- a/scheme/chez/geiser/geiser.ss +++ b/scheme/chez/geiser/geiser.ss @@ -5,7 +5,8 @@ geiser:autodoc geiser:no-values geiser:load-file - geiser:newline) + geiser:newline + geiser:macroexpand) (import (chezscheme)) (define (last-index-of str-list char idx last-idx) @@ -56,8 +57,8 @@ (k `((result "") (output . ,(get-output-string output-string)) (error (key . ,(with-output-to-string - (lambda () - (display-condition e)))))))) + (lambda () + (display-condition e)))))))) (lambda () (call-with-values ;; evaluate form, allow for multiple return values, @@ -69,9 +70,9 @@ (eval form)))) (lambda result `((result ,(with-output-to-string - (lambda () - (pretty-print - (if (null? (cdr result)) (car result) result))))) + (lambda () + (pretty-print + (if (null? (cdr result)) (car result) result))))) (output . ,(get-output-string output-string)))))))))) (newline) (close-output-port output-string))) @@ -145,4 +146,7 @@ #f) (define (geiser:newline) - #f)) + #f) + + (define (geiser:macroexpand form . rest) + (syntax->datum (expand form)))) -- cgit v1.2.3