lazymap /

Filename Size Date modified Message
gradle
lib
src/main/clojure/lazymap
t
43 B
Move to gradle for build system
384 B
Added tag v3.1.1 for changeset 767ecaf91c54
1.1 KB
Bump copyright years
924 B
Update README
1.3 KB
Bump version to v3.1.1
5.1 KB
Add gradle wrapper for building
2.4 KB
Add gradle wrapper for building
29 B
Move to gradle for build system

lazymap – take the strictness out of maps

Description

LazyMap is a transparent wrapper around the map types of Clojure. It works similar to lazy-seq for sequences: the value associated with a key via lazy-assoc is not evaluated until it is actually accessed. So if the value is dissoc'd before it is accessed the code necessary to generate the value is not executed at all.

Usage

user=> (use 'lazymap.core)
nil
user=> (def m (lazy-hash-map :x (do (println :a) :y)))
#'user/m
user=> (get m :x)
:a
:y
user=> (get m :x)
:y
user=>

Gradle

dependencies { compile 'de.kotka:lazymap:3.0.0' }

Maven

<dependency>
  <groupId>de.kotka</groupId>
  <artifactId>lazymap</artifactId>
  <version>3.0.0</version>
</dependency>

Leiningen

:dependencies [[de.kotka/lazymap "3.0.0"]]

Meikel Brandmeyer mb@kotka.de,<br> Frankfurt am Main, 2011