compile to new vm
This commit is contained in:
Binary file not shown.
+2048
-772
File diff suppressed because it is too large
Load Diff
+2
-2
@@ -198,7 +198,7 @@
|
||||
|
||||
(define (expand-define-macro var transformer env)
|
||||
(let ((uid (add-identifier! var env)))
|
||||
(let ((expander (load (expand transformer env))))
|
||||
(let ((expander (load (compile (expand transformer env)))))
|
||||
(add-macro! uid expander)
|
||||
#undefined)))
|
||||
|
||||
@@ -891,5 +891,5 @@
|
||||
;; eval
|
||||
|
||||
(define (eval expr . env)
|
||||
(load (expand expr (if (null? env) default-environment (car env))))))
|
||||
(load (compile (expand expr (if (null? env) default-environment (car env)))))))
|
||||
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
(import (scheme base)
|
||||
(scheme read)
|
||||
(scheme write)
|
||||
(only (picrin base) compile))
|
||||
(only (picrin base) compile expand default-environment))
|
||||
|
||||
(define (generate-rom)
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
(define text
|
||||
(with-output-to-string
|
||||
(lambda ()
|
||||
(write (compile (read))))))
|
||||
(write (compile (expand (read) default-environment))))))
|
||||
|
||||
(define (escape-string s)
|
||||
(with-output-to-string
|
||||
|
||||
Reference in New Issue
Block a user