The Lambda Lab
/
projects
/
scheme.forth.jl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixed bug in MCE. Now working!
[scheme.forth.jl.git]
/
examples
/
metacirc.scm
diff --git
a/examples/metacirc.scm
b/examples/metacirc.scm
index
94787dd
..
170adaa
100644
(file)
--- a/
examples/metacirc.scm
+++ b/
examples/metacirc.scm
@@
-88,6
+88,13
@@
env)
'ok)
env)
'ok)
+(define (eval-definition exp env)
+ (define-variable!
+ (definition-variable exp)
+ (eval (definition-value exp) env)
+ env)
+ 'ok)
+
(define (self-evaluating? exp)
(cond ((number? exp) true)
((string? exp) true)
(define (self-evaluating? exp)
(cond ((number? exp) true)
((string? exp) true)
@@
-329,6
+336,7
@@
(define-variable! 'false false initial-env)
initial-env))
(define-variable! 'false false initial-env)
initial-env))
+
(define (primitive-procedure? proc)
(tagged-list? proc 'primitive))
(define (primitive-procedure? proc)
(tagged-list? proc 'primitive))
@@
-352,8
+360,6
@@
(list 'primitive (cadr proc)))
primitive-procedures))
(list 'primitive (cadr proc)))
primitive-procedures))
-
-
(define (apply-primitive-procedure proc args)
(apply-in-underlying-scheme
(primitive-implementation proc) args))
(define (apply-primitive-procedure proc args)
(apply-in-underlying-scheme
(primitive-implementation proc) args))
@@
-390,5
+396,6
@@
'<procedure-env>))
(display object)))
'<procedure-env>))
(display object)))
-(define the-global-environment
- (setup-environment))
+
+(define the-global-environment (setup-environment))
+