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
def/set/lookup are working!
[scheme.forth.jl.git]
/
scheme.4th
diff --git
a/scheme.4th
b/scheme.4th
index
d075e81
..
8581893
100644
(file)
--- a/
scheme.4th
+++ b/
scheme.4th
@@
-126,8
+126,6
@@
create-symbol ok ok-symbol
\ ---- Environments ---- {{{
\ ---- Environments ---- {{{
-objvar global-env
-
: enclosing-env ( env -- env )
cdr ;
: enclosing-env ( env -- env )
cdr ;
@@
-145,9
+143,9
@@
objvar global-env
: add-binding ( var val frame -- )
2swap 2over frame-vals cons
: add-binding ( var val frame -- )
2swap 2over frame-vals cons
- 2over set-c
a
r!
+ 2over set-c
d
r!
2swap 2over frame-vars cons
2swap 2over frame-vars cons
-
swap set-cd
r!
+
2swap set-ca
r!
;
: extend-env ( vars vals env -- env )
;
: extend-env ( vars vals env -- env )
@@
-205,7
+203,7
@@
hide vals
get-vars-vals if
2swap 2drop car
else
get-vars-vals if
2swap 2drop car
else
- bold fg red ." Tried to read unbound variable." reset-term abort
+ bold fg red ." Tried to read unbound variable." reset-term
cr
abort
then
;
then
;
@@
-215,7
+213,7
@@
hide vals
2swap 2drop ( val vals )
set-car!
else
2swap 2drop ( val vals )
set-car!
else
- bold fg red ." Tried to set unbound variable." reset-term abort
+ bold fg red ." Tried to set unbound variable." reset-term
cr
abort
then
;
then
;
@@
-238,6
+236,10
@@
objvar env
hide env
hide env
+objvar global-env
+nil nil nil extend-env
+global-env setobj
+
\ }}}
\ ---- Read ---- {{{
\ }}}
\ ---- Read ---- {{{
@@
-870,3
+872,5
@@
defer print
;
forth definitions
;
forth definitions
+
+\ vim:fdm=marker