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 apply.
[scheme.forth.jl.git]
/
scheme.4th
diff --git
a/scheme.4th
b/scheme.4th
index
cecacff
..
1f2111a
100644
(file)
--- a/
scheme.4th
+++ b/
scheme.4th
@@
-20,7
+20,7
@@
include defer-is.4th
\ ------ Cons cell memory ------ {{{
\ ------ Cons cell memory ------ {{{
-1000 constant N
+1000
0
constant N
create car-cells N allot
create car-type-cells N allot
create cdr-cells N allot
create car-cells N allot
create car-type-cells N allot
create cdr-cells N allot
@@
-972,7
+972,7
@@
defer eval
begin
2dup cdr 2dup nil objeq? false =
while
begin
2dup cdr 2dup nil objeq? false =
while
- -2rot car over ( nextbody env exp env )
+ -2rot car
2
over ( nextbody env exp env )
eval
2drop \ discard result
2swap ( env nextbody )
eval
2drop \ discard result
2swap ( env nextbody )
@@
-981,7
+981,8
@@
defer eval
2drop ( env body )
car 2swap ( exp env )
2drop ( env body )
car 2swap ( exp env )
- eval \ TODO: tail call optimization
+ ['] eval goto-prime \ Tail call optimization
+ \ eval \ No tail call optimization
endof
bold fg red ." Object not applicable. Aboring." reset-term cr
endof
bold fg red ." Object not applicable. Aboring." reset-term cr