aboutsummaryrefslogtreecommitdiff
path: root/ps/step9_interop.ps
diff options
context:
space:
mode:
authorJoel Martin <github@martintribe.org>2014-04-02 22:23:37 -0500
committerJoel Martin <github@martintribe.org>2014-04-02 22:23:37 -0500
commitea81a8087bcd7953b083a2be9db447f75e7ebf56 (patch)
tree6cf47a2dbd55d42efc4a901eaabdec952f40ce89 /ps/step9_interop.ps
parent1617910ad342a55762f3ddabb975849d843cff85 (diff)
downloadmal-ea81a8087bcd7953b083a2be9db447f75e7ebf56.tar.gz
mal-ea81a8087bcd7953b083a2be9db447f75e7ebf56.zip
All: split types into types, env, printer, core.
- types: low-level mapping to the implementation language. - core: functions on types that are exposed directly to mal. - printer: implementation called by pr-str, str, prn, println. - env: the environment implementation - Also, unindent all TCO while loops so that the diff of step4 and step5 are minimized.
Diffstat (limited to 'ps/step9_interop.ps')
-rw-r--r--ps/step9_interop.ps5
1 files changed, 4 insertions, 1 deletions
diff --git a/ps/step9_interop.ps b/ps/step9_interop.ps
index 743422b..f8d3250 100644
--- a/ps/step9_interop.ps
+++ b/ps/step9_interop.ps
@@ -1,5 +1,8 @@
(types.ps) run
(reader.ps) run
+(printer.ps) run
+(env.ps) run
+(core.ps) run
% read
/_readline { print flush (%stdin) (r) file 99 string readline } def
@@ -212,7 +215,7 @@ end } def
/REP { READ repl_env EVAL PRINT } def
/_ref { repl_env 3 1 roll env_set pop } def
-types_ns { _ref } forall
+core_ns { _ref } forall
(read-string) { 0 get read_str } _ref
(eval) { 0 get repl_env EVAL } _ref