summaryrefslogtreecommitdiffstats
path: root/ChangeLog
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2011-10-06 22:20:16 -0700
committerKaz Kylheku <kaz@kylheku.com>2011-10-06 22:20:16 -0700
commit5ab2b46a0f5d6c73b6e81a0efc47c29d29928966 (patch)
tree3d1c0c229308c7c6da8ee84938124275e3beb814 /ChangeLog
parent9776ad45285a46cacd5fc7288489d374f6480f37 (diff)
downloadtxr-5ab2b46a0f5d6c73b6e81a0efc47c29d29928966.tar.gz
txr-5ab2b46a0f5d6c73b6e81a0efc47c29d29928966.tar.bz2
txr-5ab2b46a0f5d6c73b6e81a0efc47c29d29928966.zip
Extending syntax to allow for @VAR and @(...) forms inside
nested lists. This is in anticipation of future features. * lib.c (expr_s): New symbol variable. (obj_init): expr_s initialized. * lib.h (expr_s): Declared. * match.c (dest_bind): Now takes linenum. Tests for the meta-syntax denoted by the system symbols var_s and expr_s, and throws an error. (eval_form): Similar error checks added. Also, hack: do not add file and line number to an exception which begins with a '(' character; just re-throw it. This suppresses duplicate line number addition when this throw occurs across some nestings. (match_files): Updated calls to dest_bind. * parser.l (yybadtoken): Handle new token kind, METAVAR and METAPAR. (grammar): Refactoring among patterns: TOK broken into SYM and NUM, NTOK introduced, unused NUM_END removed. Rule for @( producing METAPAR in nested state. * parser.y (METAVAR, METAPAR): New tokens. (meta_expr): New nonterminal. (expr): meta_expr and META_VAR productions handled.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog28
1 files changed, 28 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index a7165fbb..7b3fe9c9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,33 @@
2011-10-06 Kaz Kylheku <kaz@kylheku.com>
+ Extending syntax to allow for @VAR and @(...) forms inside
+ nested lists. This is in anticipation of future features.
+
+ * lib.c (expr_s): New symbol variable.
+ (obj_init): expr_s initialized.
+
+ * lib.h (expr_s): Declared.
+
+ * match.c (dest_bind): Now takes linenum. Tests for the meta-syntax
+ denoted by the system symbols var_s and expr_s, and throws an
+ error.
+ (eval_form): Similar error checks added. Also, hack: do not add
+ file and line number to an exception which begins with a '('
+ character; just re-throw it. This suppresses duplicate line
+ number addition when this throw occurs across some nestings.
+ (match_files): Updated calls to dest_bind.
+
+ * parser.l (yybadtoken): Handle new token kind, METAVAR and METAPAR.
+ (grammar): Refactoring among patterns: TOK broken into
+ SYM and NUM, NTOK introduced, unused NUM_END removed.
+ Rule for @( producing METAPAR in nested state.
+
+ * parser.y (METAVAR, METAPAR): New tokens.
+ (meta_expr): New nonterminal.
+ (expr): meta_expr and META_VAR productions handled.
+
+2011-10-06 Kaz Kylheku <kaz@kylheku.com>
+
Renaming the currying combinators according to new scheme.
* lib.c (bind2): Function renamed to curry_12_2.