{"size": 602, "ext": "scrbl", "max_stars_repo_path": "lens-doc/lens/applicable.scrbl", "max_stars_repo_name": "AlexKnauth/lens", "max_stars_repo_stars_event_min_datetime": "2015-07-08T12:56:46.000Z", "max_stars_repo_stars_event_max_datetime": "2022-03-17T21:21:54.000Z", "max_issues_repo_path": "lens-doc/lens/applicable.scrbl", "max_issues_repo_name": "AlexKnauth/lens", "max_issues_repo_issues_event_min_datetime": "2015-07-07T01:47:59.000Z", "max_issues_repo_issues_event_max_datetime": "2019-09-10T18:35:17.000Z", "max_forks_repo_path": "lens-doc/lens/applicable.scrbl", "max_forks_repo_name": "AlexKnauth/lens", "max_forks_repo_forks_event_min_datetime": "2015-07-07T05:01:29.000Z", "max_forks_repo_forks_event_max_datetime": "2019-07-16T00:37:04.000Z"}
{"max_stars_count": 66, "max_issues_count": 199, "max_forks_count": 11, "avg_line_length": 21.5, "max_line_length": 68, "alphanum_fraction": 0.7292358804}
#lang scribble/manual

@(require lens/private/doc-util/main)


@title{Applicable lenses}


@defmodule[lens/applicable]

This module provides the same functions as @racketmodname[lens],
but enables the use of @italic{applicable lenses}. Applicable lenses
may be used directly as getter functions, removing the need to use
@racket[lens-view].

@lens-applicable-examples[
  (require lens/applicable)
  (first-lens '(a b c))
  (map first-lens '((1 2 3) (a b c) (100 200 300)))
]

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

@lens-examples[
  (require lens)
  (first-lens '(a b c))
]
