1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-07 17:12:25 +02:00

Default to compiling to RTL

* module/ice-9/eval-string.scm (eval-string)
* module/language/tree-il/spec.scm (tree-il)
* module/scripts/compile.scm (compile)
* module/system/base/compile.scm (compile-file, read-and-compile)
* module/system/repl/common.scm (repl-compile, repl-prepare-eval-thunk):
  Default to compiling to RTL.

* module/language/rtl/spec.scm (rtl->value): Add value compiler.
This commit is contained in:
Andy Wingo 2013-10-31 14:17:30 +01:00
parent 30b7cf9df0
commit b73a2ee017
6 changed files with 24 additions and 10 deletions

View file

@ -20,12 +20,23 @@
(define-module (language rtl spec)
#:use-module (system base language)
#:use-module (system vm objcode)
#:use-module (ice-9 binary-ports)
#:export (rtl))
(define (rtl->value x e opts)
(let ((thunk (load-thunk-from-memory x)))
(if (eq? e (current-module))
;; save a cons in this case
(values (thunk) e e)
(save-module-excursion
(lambda ()
(set-current-module e)
(values (thunk) e e))))))
(define-language rtl
#:title "Register Transfer Language"
#:compilers '()
#:compilers `((value . ,rtl->value))
#:printer (lambda (rtl port) (put-bytevector port rtl))
#:reader get-bytevector-all
#:for-humans? #f)