diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2011-11-28 22:42:19 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2011-11-28 22:42:19 -0800 |
commit | 317f52faaee418a3a64b8c7d7a778e78b65e84c6 (patch) | |
tree | 824ed757072d1de4af7b2b66f758527e08672fa3 /lib.c | |
parent | a64dfb3f355bdb44e7f533a88db0716e70418ae4 (diff) | |
download | txr-317f52faaee418a3a64b8c7d7a778e78b65e84c6.tar.gz txr-317f52faaee418a3a64b8c7d7a778e78b65e84c6.tar.bz2 txr-317f52faaee418a3a64b8c7d7a778e78b65e84c6.zip |
* eval.c (let_star_s, for_s, for_star_s): New symbols.
(env_replace_vbind, bindings_helper): New static functions.
(op_let): Refactored to allow for let* form. Code for setting
up bindings moved into bindings helper, shared by for loop.
(op_for, expand_vars): New static functions.
(expand): Bugfix: let case was neglecting to walk the var
initialization forms. This is done via expand_vars now.
let_star_s added to this case to handle let* and let at
the same time. New case added for for and for*.
(eval_init): let_star_s, for_s, and for_star_s initialized,
and entered into op_table.
Diffstat (limited to 'lib.c')
0 files changed, 0 insertions, 0 deletions