summaryrefslogtreecommitdiffstats
path: root/lib.h
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2014-02-16 16:15:48 -0800
committerKaz Kylheku <kaz@kylheku.com>2014-02-16 16:15:48 -0800
commit5cb820d7f9be3df23e19fd67a2f5ff6309188eea (patch)
tree8e6eb7ed237a97b259142834a88ca59d1bcc6bae /lib.h
parent65ea825e92af183f5aff9aeb7c6a7880005a7558 (diff)
downloadtxr-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