summaryrefslogtreecommitdiffstats
path: root/combi.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2016-11-19 10:56:40 -0800
committerKaz Kylheku <kaz@kylheku.com>2016-11-19 11:07:05 -0800
commitfe8c0def43c5248e00278cf8c05a1cf9bbc6b688 (patch)
tree1f10908810a6cb678369c36770a28a8d8a179ee3 /combi.c
parent91de0e52b8d1cfa3d7d6e2be69d6d7cf6e479bfe (diff)
downloadtxr-fe8c0def43c5248e00278cf8c05a1cf9bbc6b688.tar.gz
txr-fe8c0def43c5248e00278cf8c05a1cf9bbc6b688.tar.bz2
txr-fe8c0def43c5248e00278cf8c05a1cf9bbc6b688.zip
Handle interpreted macros through function.
All macros are function bindings now. * eval.c (me_interp_macro): New function. Body is a copy of block from expand_macro. (op_defmacro): Hoist the me_interp_macro function into the object domain, installing the macro material as the environment. This function is the expander. (expand_macro): Assume that the binding is a function and call it. The cons case is gone. (expand_macrolet): Similar change to the one in op_defmacro: a macrolet is also a function. * txr.1: Documentation under symbol-macro updated.
Diffstat (limited to 'combi.c')
0 files changed, 0 insertions, 0 deletions