Skip to content
Commit ec47c030 authored by Jonathan Graveline's avatar Jonathan Graveline Committed by Stefan
Browse files

Run macros in the IO monad

* btl/builtins.typer (Macro, Macro_expand): Return type is now `IO Sexp`.

* btl/pervasive.typer (multiarg_lambda, quote, __.__): Adjust accordingly.

* src/debruijn.ml (senv_lookup): No need to be recursive.

* src/elab.ml (get_implicit_arg, elab_macro_call, lexp_decls_macro):
Macros are now run in the IO monad.
(sexp_decls_macro_print): Comment out.

* src/opslexp.ml (ctx2tup.mk_lets_and_tup): Fix debindex.

* tests/eval_test.ml (test_eval_eqv_named): Don't burp on empty lists.
("Implicit Arguments"): Adjust to new type.
("Generic-typed case"): Use our own `Pair` type.

* tests/macro_test.ml ("macros base", "macros decls"): Adjust to new type.
parent abf28d5c
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment