diff options
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/TODO | 4 | ||||
| -rw-r--r-- | docs/step_notes.txt | 22 |
2 files changed, 18 insertions, 8 deletions
@@ -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 |
