1
1
mirror of https://github.com/kanaka/mal.git synced 2024-10-27 06:40:14 +03:00
Commit Graph

6 Commits

Author SHA1 Message Date
Nicolas Boulenguez
0b4b53b996 jq: use env_req for env searches that should not fail
instead of abusing env_find
2024-10-07 09:56:17 -04:00
AnotherTest
40eb45c321 jq: fix TCO for symbols, breaking let* in steps 5 to A
Fix by alimpfard.
2024-10-07 09:56:17 -04:00
Nicolas Boulenguez
3d15cacef9 jq: fix evaluation of vectors and maps in regression tests 2024-10-07 09:56:17 -04:00
Nicolas Boulenguez
3dd5a1eb76 jq: merge eval_ast/macroexpand into EVAL. Add DEBUG-EVAL
Original issue describing the change and converting the first set of
implementations: https://github.com/kanaka/mal/pull/592

Tracking issue for other implementations: https://github.com/kanaka/mal/issues/657

All normal tests pass, but REGRESS and self-hosting fail.

Steps:
display the results from jq without python
simplify/improve quasiquote
simplify replenv construction

Cosmetic:
Update the interpreter from latest Debian/Ubuntu.
move first core functions from steps4-A to core.jq
simplify interprocess communication between run and utils.jq
merge run and rts.py, simplify it
2024-10-07 09:56:17 -04:00
Nicolas Boulenguez
fbfe6784d2 Change quasiquote algorithm
- 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
2020-08-11 01:01:56 +02:00
Joel Martin
8a19f60386 Move implementations into impls/ dir
- 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.
2020-02-10 23:50:16 -06:00