aboutsummaryrefslogtreecommitdiffstats
path: root/macscheme.init
diff options
context:
space:
mode:
Diffstat (limited to 'macscheme.init')
-rw-r--r--macscheme.init26
1 files changed, 14 insertions, 12 deletions
diff --git a/macscheme.init b/macscheme.init
index c922bfc..7846135 100644
--- a/macscheme.init
+++ b/macscheme.init
@@ -72,8 +72,7 @@
;@
(define sub-vicinity
(case (software-type)
- ((vms) (lambda
- (vic name)
+ ((vms) (lambda (vic name)
(let ((l (string-length vic)))
(if (or (zero? (string-length vic))
(not (char=? #\] (string-ref vic (- l 1)))))
@@ -113,6 +112,7 @@
;(SLIB:LOAD-COMPILED "filename")
vicinity
srfi-59
+ srfi-96
;; Scheme report features
;; R5RS-compliant implementations should provide all 9 features.
@@ -156,11 +156,11 @@
;; Other common features
-;;; srfi ;srfi-0, COND-EXPAND finds all srfi-*
+;;; srfi-0 ;srfi-0, COND-EXPAND finds all srfi-*
;;; sicp ;runs code from Structure and
;Interpretation of Computer
;Programs by Abelson and Sussman.
-;;; defmacro ;has Common Lisp DEFMACRO
+ defmacro ;has Common Lisp DEFMACRO
;;; record ;has user defined data structures
string-port ;has CALL-WITH-INPUT-STRING and
;CALL-WITH-OUTPUT-STRING
@@ -268,13 +268,6 @@
;;; Return argument
(define (identity x) x)
-;;; SLIB:EVAL is single argument eval using the top-level (user) environment.
-(define slib:eval eval)
-
-;;; If your implementation provides R4RS macros:
-;(define macro:eval slib:eval)
-;(define macro:load load)
-
(define *defmacros*
(list (cons 'defmacro
(lambda (name parms . body)
@@ -304,6 +297,8 @@
(string->symbol
(string-append "slib:G" (number->string *gensym-counter*))))))
+;;; SLIB:EVAL is single argument eval using the top-level (user) environment.
+(define slib:eval eval)
(define base:eval slib:eval)
(define (defmacro:eval x) (base:eval (defmacro:expand* x)))
(define (defmacro:expand* x)
@@ -311,7 +306,6 @@
(define (defmacro:load <pathname>)
(slib:eval-load <pathname> defmacro:eval))
-;; slib:eval-load definition moved to "require.scm"
(define slib:warn
(lambda args
@@ -362,6 +356,14 @@
;;; See feature 'COMPILED.
(define slib:load-compiled load)
+;;; If your implementation provides R4RS macros:
+;;(define macro:eval slib:eval)
+;;(define macro:load slib:load-source)
+
+;;; If your implementation provides syntax-case macros:
+;;(define syncase:eval slib:eval)
+;;(define syncase:load slib:load-source)
+
;;; At this point SLIB:LOAD must be able to load SLIB files.
(define slib:load slib:load-source)