diff options
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 34 |
1 files changed, 34 insertions, 0 deletions
@@ -1,3 +1,37 @@ +2012-04-07 Kaz Kylheku <kaz@kylheku.com> + + Rounding out hash table functionality with lazy lists that + can walk table content in different ways. + + * eval.c (op_dohash): Follow interface change of hash_next. + (eval_init): hash-keys, hash-values, hash-pairs and hash-alist + intrinsics introduced. + + * filter.c (trie_compress): Follow interface change of hash_next. + + * hash.c (hash_next): Silly interface which takes a pointer to + the iterator has changed to just take the iterator. The function + unambiguously returns nil when the iteration ends, so there + is no need to set the iterator variable to nil. + (maphash): Follows interface change of hash_next. + (hash_keys_lazy, hash_values_lazy, hash_pairs_lazy, hash_alist_lazy): + New static functions. + (hash_keys, hash_values, hash_pairs, hash_alist): New functions. + + * hash.h (hash_next): Declaration updated. + (hash_keys, hash_values, hash_pairs, hash_alist): Declared. + + * lib.c (make_half_lazy_cons): New way of constructing lazy cons, + with the car field specified. It simplifies situations when the + previous cons computes the car of the next one. Why hadn't I thought of + this before? + + * lib.h (make_half_lazy_cons): Declared. + + * txr.1: Doc stubs for new hash functions. + + * txr.vim: Highlighting for new hash functions. + 2012-04-05 Kaz Kylheku <kaz@kylheku.com> Version 64 |