diff options
Diffstat (limited to 'scmacro.scm')
-rw-r--r-- | scmacro.scm | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/scmacro.scm b/scmacro.scm index 97bb52f..debc38a 100644 --- a/scmacro.scm +++ b/scmacro.scm @@ -8,7 +8,7 @@ ;1. Any copy made of this software must include this copyright notice ;in full. ; -;2. I have made no warrantee or representation that the operation of +;2. I have made no warranty or representation that the operation of ;this software will be error-free, and I am under no obligation to ;provide any services, by way of maintenance, update, or otherwise. ; @@ -17,6 +17,10 @@ ;promotional, or sales literature without prior written consent in ;each case. +(require 'promise) ; Portable support for force and delay. +(require 'record) +(require 'synchk) ; Syntax checker. + ;;;; Syntaxer Output Interface (define syntax-error slib:error) @@ -40,7 +44,7 @@ (string->symbol (string-append "." (symbol->string (identifier->symbol identifier)) - (promise:force suffix-promise)))))) + (force suffix-promise)))))) (define (output/variable name) name) @@ -80,10 +84,6 @@ (define (output/unspecific) `'*UNSPECIFIC*) -(require 'promise) ; Portable support for force and delay. -(require 'record) -(require 'synchk) ; Syntax checker. - ;;; This file is the macro expander proper. (slib:load (in-vicinity (library-vicinity) "synclo")) @@ -94,7 +94,7 @@ ;;; OK, time to build the databases. (initialize-scheme-syntactic-environment!) -;;; MACRO:EXPAND is for you to use. It takes an R4RS expression, macro-expands +;;@ MACRO:EXPAND is for you to use. It takes an R4RS expression, macro-expands ;;; it, and returns the result of the macro expansion. (define (synclo:expand expression) (set! *counter* 0) @@ -104,14 +104,13 @@ ;;; Here are EVAL, EVAL! and LOAD which expand macros. You can replace the ;;; implementation's eval and load with them if you like. (define base:eval slib:eval) -(define base:load load) - +;;(define base:load load) +;@ (define (synclo:eval x) (base:eval (macro:expand x))) (define macro:eval synclo:eval) - +;@ (define (synclo:load <pathname>) (slib:eval-load <pathname> synclo:eval)) - (define macro:load synclo:load) (provide 'syntactic-closures) |