summaryrefslogtreecommitdiffstats
path: root/ChangeLog
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2012-03-14 13:27:06 -0700
committerKaz Kylheku <kaz@kylheku.com>2012-03-14 13:27:06 -0700
commit0592949de3e274b7d9700ec74466b541055c3bca (patch)
tree7782121888bf42e1719834cf23594b51bb3ce4a4 /ChangeLog
parent96f072cfdb5d1eac3e32dbdb15704b0a32258a37 (diff)
downloadtxr-0592949de3e274b7d9700ec74466b541055c3bca.tar.gz
txr-0592949de3e274b7d9700ec74466b541055c3bca.tar.bz2
txr-0592949de3e274b7d9700ec74466b541055c3bca.zip
Allow quasi-quoting over hash table literals,
to express dynamic hash table construction * eval.c (expand_qquote): Recognize hash-construct forms: expand the hash arguments and pairs separately, then rewrite to a new hash-construct form. (eval-init): hash-construct intrinsic function added. * hash.c (hash_construct_s): New symbol variable. (hash_construct): New function. (hash_init): Initialize hash_construct_s. * hash.h (hash_construct_s, hash_construct): Declared. * parser.y (hash): Rule rewritten to emit either a literal hash table object, or a hash-construct form, based on whether quasiquote unquotes occur within the syntax. (hash_from_notation): Function removed.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog21
1 files changed, 21 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 772f53ad..a125a84e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,24 @@
+2012-03-14 Kaz Kylheku <kaz@kylheku.com>
+
+ Allow quasi-quoting over hash table literals,
+ to express dynamic hash table construction
+
+ * eval.c (expand_qquote): Recognize hash-construct
+ forms: expand the hash arguments and pairs separately,
+ then rewrite to a new hash-construct form.
+ (eval-init): hash-construct intrinsic function added.
+
+ * hash.c (hash_construct_s): New symbol variable.
+ (hash_construct): New function.
+ (hash_init): Initialize hash_construct_s.
+
+ * hash.h (hash_construct_s, hash_construct): Declared.
+
+ * parser.y (hash): Rule rewritten to emit either a literal
+ hash table object, or a hash-construct form, based on
+ whether quasiquote unquotes occur within the syntax.
+ (hash_from_notation): Function removed.
+
2012-03-13 Kaz Kylheku <kaz@kylheku.com>
Change: @(block) requires @(end) from now on.