diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2014-02-16 16:15:48 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2014-02-16 16:15:48 -0800 |
commit | 5cb820d7f9be3df23e19fd67a2f5ff6309188eea (patch) | |
tree | 8e6eb7ed237a97b259142834a88ca59d1bcc6bae /lib.h | |
parent | 65ea825e92af183f5aff9aeb7c6a7880005a7558 (diff) | |
download | txr-5cb820d7f9be3df23e19fd67a2f5ff6309188eea.tar.gz txr-5cb820d7f9be3df23e19fd67a2f5ff6309188eea.tar.bz2 txr-5cb820d7f9be3df23e19fd67a2f5ff6309188eea.zip |
New destructuring operators.
* eval.c (tree_case_s, tree_bind_s): New symbol variables.
(bind_macro_params): Bugfix: inappropriate exception thrown when atom
matched against parameter list. Bugfix: nil being returned when
atom matches empty parameter list. Added support for a new convention:
if loose_p is the colon keyword, then exceptions are not thrown
for destructuring mismatches; nil is returned instad.
(op_tree_case, expand_tree_cases, expand_tree_case, op_tree_bind):
New static functions.
(expand): Handle tree_case_s and tree_bind_s.
(eval_init): Intern tree-case and tree-bind symbols.
Register the corresponding operator functions op_tree_case and
op_tree_bind under these symbols in op_table.
* txr.1: Documented tree-case and tree-bind operators.
Diffstat (limited to 'lib.h')
0 files changed, 0 insertions, 0 deletions