Start to work on 5.25 and finish syntax error in eceval

main
Felix Martin 2021-04-06 22:11:18 -04:00
parent d81460ccae
commit 80fb79b001
2 changed files with 14 additions and 3 deletions

View File

@ -39,5 +39,16 @@
(assert (get-register-contents eceval 'val) 10) (assert (get-register-contents eceval 'val) 10)
(display "\nex-5.25\n") (display "\nex-5.25 - lazy-evaluation\n")
(set-register-contents! eceval 'exp
'(begin
(define (try a b)
(if (= a 0) 1 b))
(try 0 (/ 1 1))))
(start eceval)
(assert (get-register-contents eceval 'val) 1)
(display "\nex-5.26\n")

View File

@ -68,7 +68,7 @@
(list 'define-variable! define-variable!) (list 'define-variable! define-variable!)
(list 'empty-arglist empty-arglist) (list 'empty-arglist empty-arglist)
(list 'extend-environment extend-environment) (list 'extend-environment extend-environment)
(list 'get-global-environment get-global-environment)) (list 'get-global-environment get-global-environment)
(list 'last-operand? last-operand?) (list 'last-operand? last-operand?)
(list 'lookup-variable-value lookup-variable-value) (list 'lookup-variable-value lookup-variable-value)
(list 'make-procedure make-procedure) (list 'make-procedure make-procedure)
@ -92,7 +92,7 @@
(list 'cond? cond?) (list 'cond? cond?)
(list 'let->combination let->combination) (list 'let->combination let->combination)
(list 'let? let?) (list 'let? let?)
) ))
(define eceval (define eceval
(make-machine (make-machine