aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/TODO4
-rw-r--r--docs/step_notes.txt22
2 files changed, 18 insertions, 8 deletions
diff --git a/docs/TODO b/docs/TODO
index 46f7881..534adbc 100644
--- a/docs/TODO
+++ b/docs/TODO
@@ -5,7 +5,7 @@ All:
- hash-map with space in key string (make)
- keyword type
- gensym reader inside quasiquote
- - can let* and quasiquote be TCO'd ?
+ - quasiquote be TCO'd ?
- per impl tests for step5_tco, step9_interop (if possible)
- regular expression matching in runtest
@@ -14,6 +14,8 @@ All:
- Break out impl eval into step0.5
- Fix quasiquoting of vectors
+ - TCO for let*
+
---------------------------------------------
Bash:
diff --git a/docs/step_notes.txt b/docs/step_notes.txt
index 79036a8..09bc356 100644
--- a/docs/step_notes.txt
+++ b/docs/step_notes.txt
@@ -78,8 +78,6 @@ Step Notes:
- eval_ast:
- if symbol, return value of looking up in env
- if list, eval each item, return new list
- - if vector support, eval each item, return new vector
- - if hash_map support, eval each value, return new hash_map
- otherwise, just return unchanged ast
- EVAL/apply:
- if not a list, call eval_ast
@@ -87,6 +85,12 @@ Step Notes:
- repl_env as simple one level assoc. array (or hash_map)
- store function as hash_map value
+- vectors
+ - eval each item, return new vector
+
+- hash-maps
+ - eval each value, return new hash_map
+
- step3_env
- types module:
- may need function type if HashMap is strongly typed (e.g. Java)
@@ -195,6 +199,8 @@ Step Notes:
- Extra defintions needed for self-hosting
- core module:
- symbol?, sequential? (if not already)
+ - vector, vector?
+
- Other misc:
- conj function
@@ -202,14 +208,16 @@ Step Notes:
- atoms
- reader module:
- @a reader macro -> (deref a)
- - types module:
+ - core module:
- pr_str case
- atom type, atom, atom?, deref, reset!, swap!
- metadata
- - types module:
- - support meta property on symbols, hash-maps, lists, vectors,
- functions, atoms
- - add with-meta, meta functions
- reader module:
- ^ reader macro reads ^meta obj -> (with-meta obj meta)
+ - types module:
+ - support meta property on collections: lists, vectors,
+ hash-maps, functions, atoms
+ - clone/copy of collections
+ - core module:
+ - add with-meta, meta functions