mirror of
https://github.com/kanaka/mal.git
synced 2024-11-09 18:06:35 +03:00
fbfe6784d2
- 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 |
||
---|---|---|
.. | ||
tests | ||
core.wren | ||
Dockerfile | ||
env.wren | ||
interop.wren | ||
Makefile | ||
printer.wren | ||
reader.wren | ||
readline.wren | ||
README.md | ||
run | ||
step0_repl.wren | ||
step1_read_print.wren | ||
step2_eval.wren | ||
step3_env.wren | ||
step4_if_fn_do.wren | ||
step5_tco.wren | ||
step6_file.wren | ||
step7_quote.wren | ||
step8_macros.wren | ||
step9_try.wren | ||
stepA_mal.wren | ||
types.wren | ||
wren-add-gettimeofday.patch |
Wren implementation
Adding a time function
Since Wren doesn't have a time function, we add a System.gettimeofday
function which returns a float with the number of seconds since epoch (with
fractions of seconds).
This is done by applying the patch in wren-add-gettimeofday.path
to Wren's
source code before compiling it (see Dockerfile
).
Wren interop
See examples in tests/stepA_mal.mal
for usage of wren-eval
to evaluate Wren
expressions inside a Mal program.