Package-level declarations

Types

Link copied to clipboard
fun interface At<S, I, A>

At provides a Lens for a structure S to focus in A at a given index I.

Link copied to clipboard
typealias Conj<S, A> = Snoc<S, A>
Link copied to clipboard
fun interface Cons<S, A>

Cons provides a Prism between S and its first element A and tail S. It provides a convenient way to attach or detach elements to the left side of a structure S.

Link copied to clipboard
fun interface FilterIndex<S, I, A>

FilterIndex provides a Every for a structure S with all its foci A whose index I satisfies a predicate.

Link copied to clipboard
fun interface Index<S, I, A>

Index provides an Optional for a structure S to focus in an optional A at a given index I.

Link copied to clipboard
fun interface Snoc<S, A>

Snoc defines a Prism between a S and its init and last element A and thus can be seen as the reverse of Cons. It provides a way to attach or detach elements on the end side of a structure.

Functions

Link copied to clipboard
fun <S, I, A> At<S, I, Option<A>>.remove(i: I): (S) -> S

Lift deletion of a value associated with a key in a Map-like container

fun <S, I, A> At<S, I, Option<A>>.remove(s: S, i: I): S

Delete a value associated with a key in a Map-like container