diff options
Diffstat (limited to 'ps')
| -rw-r--r-- | ps/step5_tco.ps | 4 | ||||
| -rw-r--r-- | ps/step6_file.ps | 4 | ||||
| -rw-r--r-- | ps/step7_quote.ps | 8 | ||||
| -rw-r--r-- | ps/step8_macros.ps | 8 | ||||
| -rw-r--r-- | ps/step9_interop.ps | 8 | ||||
| -rw-r--r-- | ps/stepA_more.ps | 8 |
6 files changed, 30 insertions, 10 deletions
diff --git a/ps/step5_tco.ps b/ps/step5_tco.ps index c1698d6..83fd43b 100644 --- a/ps/step5_tco.ps +++ b/ps/step5_tco.ps @@ -65,7 +65,9 @@ end } def env_set pop % discard the return value } for - a2 let_env EVAL + a2 + let_env + /loop? true def % loop }{ /do a0 eq { %if do ast _count 2 gt { %if ast has more than 2 elements ast 1 ast _count 2 sub _slice env eval_ast pop diff --git a/ps/step6_file.ps b/ps/step6_file.ps index 00598be..7d1c876 100644 --- a/ps/step6_file.ps +++ b/ps/step6_file.ps @@ -65,7 +65,9 @@ end } def env_set pop % discard the return value } for - a2 let_env EVAL + a2 + let_env + /loop? true def % loop }{ /do a0 eq { %if do ast _count 2 gt { %if ast has more than 2 elements ast 1 ast _count 2 sub _slice env eval_ast pop diff --git a/ps/step7_quote.ps b/ps/step7_quote.ps index 10c8089..d7340fd 100644 --- a/ps/step7_quote.ps +++ b/ps/step7_quote.ps @@ -93,11 +93,15 @@ end } def env_set pop % discard the return value } for - a2 let_env EVAL + a2 + let_env + /loop? true def % loop }{ /quote a0 eq { %if quote ast 1 _nth }{ /quasiquote a0 eq { %if quasiquote - ast 1 _nth quasiquote env EVAL + ast 1 _nth quasiquote + env + /loop? true def % loop }{ /do a0 eq { %if do ast _count 2 gt { %if ast has more than 2 elements ast 1 ast _count 2 sub _slice env eval_ast pop diff --git a/ps/step8_macros.ps b/ps/step8_macros.ps index 74cf50f..3bf304c 100644 --- a/ps/step8_macros.ps +++ b/ps/step8_macros.ps @@ -126,11 +126,15 @@ end } def env_set pop % discard the return value } for - a2 let_env EVAL + a2 + let_env + /loop? true def % loop }{ /quote a0 eq { %if quote ast 1 _nth }{ /quasiquote a0 eq { %if quasiquote - ast 1 _nth quasiquote env EVAL + ast 1 _nth quasiquote + env + /loop? true def % loop }{ /defmacro! a0 eq { %if defmacro! /a1 ast 1 _nth def /a2 ast 2 _nth def diff --git a/ps/step9_interop.ps b/ps/step9_interop.ps index 4f324d5..de3d2af 100644 --- a/ps/step9_interop.ps +++ b/ps/step9_interop.ps @@ -126,11 +126,15 @@ end } def env_set pop % discard the return value } for - a2 let_env EVAL + a2 + let_env + /loop? true def % loop }{ /quote a0 eq { %if quote ast 1 _nth }{ /quasiquote a0 eq { %if quasiquote - ast 1 _nth quasiquote env EVAL + ast 1 _nth quasiquote + env + /loop? true def % loop }{ /defmacro! a0 eq { %if defmacro! /a1 ast 1 _nth def /a2 ast 2 _nth def diff --git a/ps/stepA_more.ps b/ps/stepA_more.ps index 744a092..76d0a86 100644 --- a/ps/stepA_more.ps +++ b/ps/stepA_more.ps @@ -126,11 +126,15 @@ end } def env_set pop % discard the return value } for - a2 let_env EVAL + a2 + let_env + /loop? true def % loop }{ /quote a0 eq { %if quote ast 1 _nth }{ /quasiquote a0 eq { %if quasiquote - ast 1 _nth quasiquote env EVAL + ast 1 _nth quasiquote + env + /loop? true def % loop }{ /defmacro! a0 eq { %if defmacro! /a1 ast 1 _nth def /a2 ast 2 _nth def |
