Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge eval-ast and macro expansion into EVAL
See issue kanaka#587. * 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). * Remove macroexpand and quasiquoteexpand special forms. 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 While reformatting process/step*.txt, use a pseudo-syntax inspired by pattern matching. The changes have not been propagated to: * ada 2-9 * awk 2-9 * bash 2-9 * basic 2-A * bbc-basic 2-9 * c 2-9 * c.2 2-9 * chuck 2-A * clojure 2-9 * coffee 2-9 * common-lisp 2-9 * cpp 2-9 * crystal 2-A * cs 2-9 * d 2-9 * dart 2-9 * elisp 2-9 * elixir 2-9 * elm 2-9 * erlang 2-9 * es6 2-9 * factor 2-9 * fantom 2-9 * fennel 2-9 * forth 2-A * fsharp 2-9 * gnu-smalltalk 2-9 * go 2-9 * groovy 2-9 * guile 2-9 * haskell 2-9 * haxe 2-9 * hy 2-A * io 2-A * janet 2-A * java 2-9 * java-truffle 2-A * jq 2-A * js 2-9 * julia 2-9 * kotlin 2-9 * livescript 2-A * logo 2-9 * lua 2-A * make 2-9 * matlab 2-A * miniMAL 2-9 * nasm 2-9 * nim 2-9 * objc 2-A * objpascal 2-9 * ocaml 2-9 * perl 2-9 * perl6 2-9 * php 2-9 * picolisp 2-9 * pike 2-9 * plpgsql 2-A * plsql 2-A * powershell 2-A * ps 2-9 * python 2-9 * python.2 2-9 * r 2-9 * racket 2-9 * rexx 2-A * rpython 2-9 * ruby 2-9 * rust 2-9 * scala 2-A * scheme 2-9 * skew 2-9 * sml 2-9 * swift 2-A * swift3 2-A * swift4 2-A * swift5 2-A * tcl 2-9 * ts 2-9 * vala 2-A * vb 2-9 * vhdl 2-9 * vimscript 2-9 * wasm 2-A * wren 2-9 * xslt 2-A * yorick 2-9 * zig 2-A
- Loading branch information