lazymap / README.markdown

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

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.