aboutsummaryrefslogtreecommitdiff
path: root/docs/step_notes.txt
diff options
context:
space:
mode:
authorJoel Martin <github@martintribe.org>2014-10-25 16:28:32 -0500
committerJoel Martin <github@martintribe.org>2015-01-06 21:58:58 -0600
commit85bec8a08b76b5b4797ddd9976a138b22974e1c4 (patch)
tree7316f0b7442fbe45a38c39fd32ff562efb95904d /docs/step_notes.txt
parent2ee5367b95e98252e1446a1cc1a782c516f21e72 (diff)
downloadmal-85bec8a08b76b5b4797ddd9976a138b22974e1c4.tar.gz
mal-85bec8a08b76b5b4797ddd9976a138b22974e1c4.zip
rust: add step6_file
Diffstat (limited to 'docs/step_notes.txt')
-rw-r--r--docs/step_notes.txt10
1 files changed, 7 insertions, 3 deletions
diff --git a/docs/step_notes.txt b/docs/step_notes.txt
index 071baf7..26c335e 100644
--- a/docs/step_notes.txt
+++ b/docs/step_notes.txt
@@ -215,11 +215,12 @@ Step Notes:
- fn*
- if available use function closures to return a new
native function that calls EVAL(a2, Env(env, a1, fargs))
+ - otherwise, store exp, params and env in a structure
- core.EXT
- create ns object to hold core namespace
- move numeric operators here
- - add compison operators
- - add list, list?, empty?, count, not
+ - add comparison operators
+ - add list, list?, empty?, count
- run make test^EXT^step4
- implement equal?/equal_Q in types.EXT and refer in core.ns
- implement not as rep("(def! not (fn* (a) (if a false true)))")
@@ -275,10 +276,13 @@ Step Notes:
- cp step5_tco.EXT to step6_file.EXT
- if compiled update Makefile
- add eval to repl_env
+ - if no (or limited closures) may have to add an "eval"
+ case to EVAL and use function which gets root of
+ environment to env.EXT (see rust).
- add empty *ARGV* list to repl_env
- in core.ns:
- - implement slurp
- wrap printer.read-str as read-string
+ - implement slurp
- implement load-file using rep
- test:
(load-file "../tests/inc.mal")