diff options
Diffstat (limited to 'macwork.scm')
-rw-r--r-- | macwork.scm | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/macwork.scm b/macwork.scm index 6336ae5..2a6a93d 100644 --- a/macwork.scm +++ b/macwork.scm @@ -10,6 +10,12 @@ ; make to this software so that they may be incorporated within it to ; the benefit of the Scheme community. +(require 'common-list-functions) + +(define mw:every every) +(define mw:union union) +(define mw:remove-if-not remove-if-not) + (slib:load (in-vicinity (program-vicinity) "mwexpand")) ;;;; Miscellaneous routines. @@ -58,8 +64,6 @@ (else -1))) (loop x 0)) -(require 'common-list-functions) - ; Given an association list, copies the association pairs. (define (mw:syntax-copy alist) @@ -103,21 +107,21 @@ ; by the compiler. Any other character that cannot appear as part of an ; identifier may be used instead of the vertical bar. -(define mw:suffix-character #\|) +(define mw:suffix-character #\!) (slib:load (in-vicinity (program-vicinity) "mwdenote")) (slib:load (in-vicinity (program-vicinity) "mwsynrul")) - +;@ (define macro:expand macwork:expand) ;;; 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 (macwork:eval x) (base:eval (macwork:expand x))) (define macro:eval macwork:eval) - +;@ (define (macwork:load <pathname>) (slib:eval-load <pathname> macwork:eval)) (define macro:load macwork:load) |