1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-10 05:50:26 +02:00

add repl option to interpret rather than compile

* module/language/scheme/spec.scm (scheme): Specify an evaluator, `eval'.

* module/system/repl/common.scm (repl-default-options): Add option,
  `interp', specifying that, if possible, the repl should interpret its
  expressions rather than compile them. Defaults to #f.
This commit is contained in:
Andy Wingo 2008-09-09 07:54:23 +02:00
parent 8e3670748f
commit 02ed0d3df2
2 changed files with 6 additions and 2 deletions

View file

@ -46,5 +46,6 @@
#:reader read
#:read-file read-file
#:translator translate
#:evaluator eval
#:printer write
)

View file

@ -38,7 +38,8 @@
(define-record (<repl> vm language options tm-stats gc-stats vm-stats))
(define repl-default-options
'((trace . #f)))
'((trace . #f)
(interp . #f)))
(define %make-repl make-repl)
(define (make-repl lang)
@ -68,7 +69,9 @@
(define (repl-eval repl form)
(let ((eval (language-evaluator (repl-language repl))))
(if eval
(if (and eval
(or (not (language-translator (repl-language repl)))
(assq-ref (repl-options repl) 'interp)))
(eval form (current-module))
(vm-load (repl-vm repl) (repl-compile repl form)))))