compile to new vm

This commit is contained in:
Yuichi Nishiwaki 2017-04-14 23:06:10 +09:00
parent 6968a9d9ef
commit 70600fec3e
4 changed files with 2052 additions and 776 deletions

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -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)))))))

View File

@ -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