| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- (define-module (language wisp spec)
- #:use-module (language wisp)
- #:use-module (system base compile)
- #:use-module (system base language)
- #:use-module (language scheme compile-tree-il)
- #:use-module (language scheme decompile-tree-il)
- #:export (wisp))
- (define (read-one-wisp-sexp port env)
-
-
-
-
- (with-fluids ((%read-hash-procedures (fluid-ref %read-hash-procedures)))
- (read-hash-extend #\# (lambda args #\# ))
-
-
-
- (set-port-encoding! port "UTF-8")
- (if (eof-object? (peek-char port))
- (read-char port)
- (let ((chunk (wisp-scheme-read-chunk port)))
- (and (not (null? chunk))
- (car chunk))))))
- (define-language wisp
- #:title "Wisp Scheme Syntax. See SRFI-119 for details"
-
- #:reader read-one-wisp-sexp
- #:compilers `((tree-il . ,compile-tree-il))
- #:decompilers `((tree-il . ,decompile-tree-il))
- #:evaluator (lambda (x module) (primitive-eval x))
- #:printer write
- #:make-default-environment
- (lambda ()
-
-
- (let ((m (make-fresh-user-module)))
-
-
-
- (module-define! m 'current-reader (make-fluid))
- m)))
|