Idris2Doc : Control.Lens.Prism

Control.Lens.Prism

(source)

Definitions

recordIsPrism : (Type->Type->Type) ->Type
Totality: total
Visibility: public export
Constructor: 
MkIsPrism : Choicep->IsPrismp

Projection: 
.runIsPrism : IsPrismp->Choicep

Hints:
IsPrismp=>IsIsop
IsReviewp=>IsPrismp
IsOptionalp=>IsPrismp
IsPrismp=>IsPrism (Indexedip)
.runIsPrism : IsPrismp->Choicep
Totality: total
Visibility: public export
runIsPrism : IsPrismp->Choicep
Totality: total
Visibility: public export
prismToIso : IsPrismp=>IsIsop
Totality: total
Visibility: export
indexedPrism : IsPrismp=>IsPrism (Indexedip)
Totality: total
Visibility: export
0Prism : Type->Type->Type->Type->Type
  A prism is a first-class reference to one of the cases of a sum type.
Prisms allow one to determine whether a value matches the focused case
and extract the corresponding data if it does.

More precisely, a `Prism` is an `Optional` that can be flipped to obtain
a `Getter` in the opposite direction.

Totality: total
Visibility: public export
0Prism' : Type->Type->Type
  `Prism'` is the `Simple` version of `Prism`.

Totality: total
Visibility: public export
0IndexedPrism : Type->Type->Type->Type->Type->Type
Totality: total
Visibility: public export
0IndexedPrism' : Type->Type->Type->Type
Totality: total
Visibility: public export
prism : (b->t) -> (s->Eitherta) ->Prismstab
  Construct a prism from injection and projection functions.

Totality: total
Visibility: public export
prism' : (b->s) -> (s->Maybea) ->Prismssab
  Construct a simple prism from injection and projection functions.

Totality: total
Visibility: public export
iprism : (b->t) -> (s->Eithert (i, a)) ->IndexedPrismistab
Totality: total
Visibility: public export
iprism' : (b->s) -> (s->Maybe (i, a)) ->IndexedPrismissab
Totality: total
Visibility: public export
getPrism : Prismstab-> (b->t, s->Eitherta)
  Extract injection and projection functions from a prism.

Totality: total
Visibility: public export
withPrism : Prismstab-> ((b->t) -> (s->Eitherta) ->r) ->r
  Extract injection and projection functions from a prism.

Totality: total
Visibility: public export
nearly : a-> (a->Bool) ->Prism'a ()
  Construct a prism that uses a predicate to determine if a value matches.

Totality: total
Visibility: public export
only : Eqa=>a->Prism'a ()
  Construct a prism that matches only one value.

Totality: total
Visibility: public export
without : Prismstab->Prisms't'a'b'->Prism (Eitherss') (Eithertt') (Eitheraa') (Eitherbb')
  Create a prism that operates on `Either` values from two other prisms.

This can be seen as dual to `alongside`.

Totality: total
Visibility: public export
below : Traversablef=>Prism'sa->Prism' (fs) (fa)
  Lift a prism through a `Traversable` container.

The constructed prism will only match if all of the inner elements of the
`Traversable` container match.

Totality: total
Visibility: public export
aside : Prismstab->Prism (e, s) (e, t) (e, a) (e, b)
  Lift a prism through part of a product type.

Totality: total
Visibility: public export