diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2014-02-12 22:09:48 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2014-02-14 15:53:43 -0800 |
commit | b21d9c695dfb570a459129885063749e6efa561e (patch) | |
tree | c87a1f73d359c574e9d99591660e20af762413c0 /ChangeLog | |
parent | 260968beacb1a2e1c6bdd652f75fe087f907ce0f (diff) | |
download | txr-b21d9c695dfb570a459129885063749e6efa561e.tar.gz txr-b21d9c695dfb570a459129885063749e6efa561e.tar.bz2 txr-b21d9c695dfb570a459129885063749e6efa561e.zip |
Different approach: optional arguments on hash-isec and hash-uni allow
for more flexible joining of data from the hash tables.
* eval.c (eval_init): Remove hash_guni and hash_gisec. Change
registration for hash_uni and hash_isec to three arguments with
one optional.
* hash.c (hash_uni): Third parameter introduced, join_func.
The default behavior changes: in the two argument case,
clashing keys prefer the value from hash1 rather than hash2.
For this reason, we now iterate over hash2 first, then hash1.
(hash_guni): Removed.
(hash_isec): Third parameter introduced, join_func.
(hash_gisec): Removed.
* hash.h (hash_uni, hash_isec): Declarations updated.
(hash_guni, hash_gisec): Delarations removed.
* txr.1: Documentation updated.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -11,6 +11,28 @@ 2014-02-12 Kaz Kylheku <kaz@kylheku.com> + Different approach: optional arguments on hash-isec and hash-uni allow + for more flexible joining of data from the hash tables. + + * eval.c (eval_init): Remove hash_guni and hash_gisec. Change + registration for hash_uni and hash_isec to three arguments with + one optional. + + * hash.c (hash_uni): Third parameter introduced, join_func. + The default behavior changes: in the two argument case, + clashing keys prefer the value from hash1 rather than hash2. + For this reason, we now iterate over hash2 first, then hash1. + (hash_guni): Removed. + (hash_isec): Third parameter introduced, join_func. + (hash_gisec): Removed. + + * hash.h (hash_uni, hash_isec): Declarations updated. + (hash_guni, hash_gisec): Delarations removed. + + * txr.1: Documentation updated. + +2014-02-12 Kaz Kylheku <kaz@kylheku.com> + * eval.c (eval_init): Register hash_guni and hash_gisec as intrinsics. * hash.c (hash_guni, hash_gisec): New functions. |