altos/lisp: Evaluate macros once, then smash them into place
authorKeith Packard <keithp@keithp.com>
Tue, 15 Nov 2016 17:55:22 +0000 (09:55 -0800)
committerKeith Packard <keithp@keithp.com>
Fri, 18 Nov 2016 06:18:39 +0000 (22:18 -0800)
commitacfc29f2400cc3c06745edb5ec0c82b82998d3cc
tree87d7a10500c9576afb563e315b0855134ce66b47
parent3d837e52b29da16088fb5ca7921d8bcb99941759
altos/lisp: Evaluate macros once, then smash them into place

This assumes that macros are all pure functions, which should be true
for syntactic macros.

Signed-off-by: Keith Packard <keithp@keithp.com>
src/lisp/Makefile
src/lisp/ao_lisp.h
src/lisp/ao_lisp_builtin.c
src/lisp/ao_lisp_const.lisp
src/lisp/ao_lisp_eval.c
src/lisp/ao_lisp_make_const.c
src/lisp/ao_lisp_os.h