Idris2Doc : Control.Lens.At

Control.Lens.At

(source)

Definitions

interfaceIxed : Type->Type->Type->Type
  An interface that provides an `Optional` to access a given index in a
container, such as an ordinal position in a `List` or `Vect` or a key in a
map.

Parameters: i, v, a
Methods:
ix : i->Optional'av
  An optional that possibly accesses a value at a given index of a container.

Implementations:
Ixed'ii'va->Ixediva
Ativa->Ixediva
ix : Ixediva=>i->Optional'av
  An optional that possibly accesses a value at a given index of a container.

Totality: total
Visibility: public export
iix : Ixediva=>i->IndexedOptional'iav
  An indexed version of `ix`.

Totality: total
Visibility: public export
interfaceIxed' : Type->Type->Type->Type->Type
  An interface that provides a lens to access a given index in a collection.
This is different from `Ixed` in that the lens cannot fail to get a value.

Implementations of this interface may use different index types for `ix` and
`ix'`; for example, `Vect n a` uses `Nat` for `ix` and `Fin n` for `ix'`.

Parameters: i, i', v, a
Constraints: Ixed i v a
Methods:
ix' : i'->Lens'av
  A lens that infallibly accesses a value at a given index of a container.
ix' : Ixed'ii'va=>i'->Lens'av
  A lens that infallibly accesses a value at a given index of a container.

Totality: total
Visibility: public export
iix' : Ixed'ii'va=>i'->IndexedLens'i'av
  An indexed version of `ix'`.

Totality: total
Visibility: public export
interfaceAt : Type->Type->Type->Type
  This interface provides a lens to read, write, add or delete the value
associated to a key in a map or map-like container.

This lens should satisfy:
* `ix i == at i . Just_`

If you do not need to add or delete keys, `ix` is more convenient.

Parameters: i, v, a
Constraints: Ixed i v a
Methods:
at : i->Lens'a (Maybev)
  A lens that can be used to read, write, add or delete a value associated
with a key in a map-like container.

If you do not need to add or delete keys, `ix` is more convenient.
at : Ativa=>i->Lens'a (Maybev)
  A lens that can be used to read, write, add or delete a value associated
with a key in a map-like container.

If you do not need to add or delete keys, `ix` is more convenient.

Totality: total
Visibility: public export
iat : Ativa=>i->IndexedLens'ia (Maybev)
  An indexed version of `at`.

Totality: total
Visibility: public export
sans : Ativa=>i->a->a
  Delete the value at a particular key in a container using `At`.

Totality: total
Visibility: public export
add : Ativa=>i->v->a->a
  Add a value at a particular key in a container using `At`.

Totality: total
Visibility: public export