(mapcat (fn [[k v]] [k `(delay ~v)]) (partition 2 kvs)))
+ "<lazy-assoc*> is like <lazy-assoc> but a function and takes values as delays
+ instead of expanding into a delay of val."
+ (assert (even? (count kvs)))
+ (reduce (fn [m [k v]] (.lazyAssoc m k v)) m (partition 2 kvs)))
"<lazy-assoc> associates new values to the given keys in the given lazy map.
The values are not evaluated, before their first retrieval. They are
- `(reduce (fn [m# [k# v#]]
- (. m# ~'lazyAssoc k# v#))
- ~m (partition 2 (list ~@(quote-values kvs)))))
+ `(lazy-assoc* ~m ~@(quote-values kvs)))
"<lazy-hash-map*> is the same as <lazy-hash-map> except that its a function