io.randomseed.lazy-map
Main namespace, contains utility functions, type definitions, and lazy map functions.
Public API is:
->LazyMap,->?LazyMap,lazy-map,force-map,freeze-map,lazy-map-dispatch.
->?LazyMap
(->?LazyMap map)Behaves the same as ->LazyMap, except that if m is already a lazy map, returns it directly. This prevents the creation of a lazy map wrapping another lazy map, which (while not terribly wrong) is not the best idea.
->LazyMap
(->LazyMap contents)Turn a regular map into a lazy map. Any values that are delays are interpreted as values that have yet to be realized.
->LazyMapEntry
(->LazyMapEntry key_ val_)Positional factory function for class io.randomseed.lazy_map.LazyMapEntry.
->PlaceholderText
(->PlaceholderText text)Positional factory function for class io.randomseed.lazy_map.PlaceholderText.
freeze-map
(freeze-map val map)Replace all the unrealized values in a lazy map with placeholders, returning a regular map. No matter what is done to the returned map, the values in the original map will not be forced. v can be an object to use for all the values or a function of the key.
is-not-thrown?
macro
(is-not-thrown? e expr)Used in clojure.test assertions because (is (not (thrown? …))) doesn’t work. See http://acidwords.com/posts/2015-07-23-fixing-negation-in-clojure-test.html
lazy-map
macro
(lazy-map map)Constructs a lazy map from a literal map. None of the values are evaluated until they are accessed from the map.
lazy-map-dispatch
(lazy-map-dispatch obj)This is a dispatch function for clojure.pprint that prints lazy maps without forcing them.
lazy-map-entry
(lazy-map-entry k v)Construct a lazy map entry with the given key and value. If you want to take advantage of the laziness, the value should be a delay.
map->PlaceholderText
(map->PlaceholderText m__8001__auto__)Factory function for class io.randomseed.lazy_map.PlaceholderText, taking a map of keywords to field values.
map-entry
(map-entry k v)Creates a map entry (as returned by calling seq on a map) with the given key and value.