xslt:
- The reader was returning the an odd args error when a hash-map literal
was not closed. This was because the the parsing error happened and
then the odd args test happened after and overwrote the parsing error.
- Also, fix the read-string function so that if an error is set by the
reader, this is converted to a full error that bubbles up.
c:
- read_list errors were not being detected/propagated in read_hash_map
after calling read_list.
zig:
- reader errors were not being caught in the rep loop until step 8, so
those errors in step6 and step7 were causing the REPL to exit.
- Add a `vec` built-in function in step7 so that `quasiquote` does not
require `apply` from step9.
- Introduce quasiquoteexpand special in order to help debugging step7.
This may also prepare newcomers to understand step8.
- Add soft tests.
- Do not quote numbers, strings and so on.
Should ideally have been in separate commits:
- elisp: simplify and fix (keyword :k)
- factor: fix copy/paste error in let*/step7, simplify eval-ast.
- guile: improve list/vector types
- haskell: revert evaluation during quasiquote
- logo, make: cosmetic issues
- Reorder README to have implementation list after "learning tool"
bullet.
- This also moves tests/ and libs/ into impls. It would be preferrable
to have these directories at the top level. However, this causes
difficulties with the wasm implementations which need pre-open
directories and have trouble with paths starting with "../../". So
in lieu of that, symlink those directories to the top-level.
- Move the run_argv_test.sh script into the tests directory for
general hygiene.