X-Git-Url: https://thelambdalab.xyz/gitweb/index.cgi?a=blobdiff_plain;f=examples%2Fmetacirc.scm;h=170adaaadca8ed00287c0e7413938c8b917207ec;hb=72afc958cd27b43b8b535a28b49493f55d186983;hp=d63e685b6b88933b54780e77a378017778653ffa;hpb=1c2a2cf4faaf55d97af61f5f1b400b0fb1e00a91;p=scheme.forth.jl.git diff --git a/examples/metacirc.scm b/examples/metacirc.scm index d63e685..170adaa 100644 --- a/examples/metacirc.scm +++ b/examples/metacirc.scm @@ -88,6 +88,13 @@ 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) @@ -329,6 +336,7 @@ (define-variable! 'false false initial-env) initial-env)) + (define (primitive-procedure? proc) (tagged-list? proc 'primitive)) @@ -352,8 +360,6 @@ (list 'primitive (cadr proc))) primitive-procedures)) - - (define (apply-primitive-procedure proc args) (apply-in-underlying-scheme (primitive-implementation proc) args)) @@ -390,4 +396,6 @@ ')) (display object))) -;; (define the-global-environment (setup-environment)) + +(define the-global-environment (setup-environment)) +