forked from kanaka/mal
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Implement suggestions from issue kanaka#587 in stepA of several langu…
…ages * Merge eval-ast and eval into a single conditional. * Print "EVAL: $ast" at the top of EVAL. * Expand macros during the apply phase, removing lots of duplicate tests, and increasing the overall consistency by allowing the macro to be computed instead of referenced by name (`((defmacro! cond (...)))` is currently illegal for example). Each change was already applied by some implementations. With the two last changes, macroexpand and quasiquoteexpand special forms are not needed anymore. If macroexpand is kept: * an optional test should be added for `(macroexpand ())`, which currently fails on several implementations, * it should only apply one macro at a time. The purpose being debugging, hiding an iteration does not help. Moreover, the loop is currently untested (and probably wrong in nim). These tests fail: * objpascal: I have no such error with a more recent compiler * groovy: stack overflow during test of recursive functions. Did work after first push. * elm: most probably unrelated, this directory is unchanged
- Loading branch information
1 parent
1c76e85
commit 3dad5f7
Showing
55 changed files
with
1,347 additions
and
2,981 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.