6.2.901.900

10 Applicable lenses

 (require lens/applicable) package: lens

This module provides the same functions as lens, but enables the use of applicable lenses. Applicable lenses may be used directly as getter functions, removing the need to use lens-view.

Examples:

> (require lens/applicable)
> (first-lens '(a b c))

'a

> (map first-lens '((1 2 3) (a b c) (100 200 300)))

'(1 a 100)

Attempting to use non-applicable lenses as functions is an error.

Examples:

> (require lens)
> (first-lens '(a b c))

cannot apply a non-applicable lens as a function