{"size": 690, "ext": "scrbl", "max_stars_repo_path": "lens-doc/lens/private/list/join-list.scrbl", "max_stars_repo_name": "jsmaniac/lens", "max_stars_repo_stars_event_min_datetime": null, "max_stars_repo_stars_event_max_datetime": null, "max_issues_repo_path": "lens-doc/lens/private/list/join-list.scrbl", "max_issues_repo_name": "jsmaniac/lens", "max_issues_repo_issues_event_min_datetime": null, "max_issues_repo_issues_event_max_datetime": null, "max_forks_repo_path": "lens-doc/lens/private/list/join-list.scrbl", "max_forks_repo_name": "jsmaniac/lens", "max_forks_repo_forks_event_min_datetime": "2021-10-02T16:08:31.000Z", "max_forks_repo_forks_event_max_datetime": "2021-10-02T16:08:31.000Z"}
{"max_stars_count": null, "max_issues_count": null, "max_forks_count": 1, "avg_line_length": 32.8571428571, "max_line_length": 61, "alphanum_fraction": 0.6536231884}
#lang scribble/manual

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

@title{Joining lenses to view lists}

@defproc[(lens-join/list [lens lens?] ...) lens?]{
  Constructs a lens that combines the view of each
  @racket[lens] into a list of views. This lens can
  be used to view and set a list of values in a single
  target. If any of the lenses share views, then when
  setting the later lenses override the earlier ones.
  @lens-examples[
    (define first-third-fifth-lens
      (lens-join/list first-lens
                      third-lens
                      fifth-lens))
    (lens-view first-third-fifth-lens '(a b c d e f))
    (lens-set first-third-fifth-lens '(a b c d e f) '(1 2 3))
]}
