Module

Run.Lenses

Package
purescript-run-profunctor-lenses
Repository
sigilion/purescript-run-profunctor-lenses

#hoistRun Source

hoistRun :: forall sym r2 r1 r b a. Functor a => Functor b => IsSymbol sym => Cons sym (FProxy a) r r1 => Cons sym (FProxy b) r r2 => SProxy sym -> (a ~> b) -> (Run r1) ~> (Run r2)

#hoistVariant Source

hoistVariant :: forall sym r2 r1 r b a. Functor b => IsSymbol sym => Cons sym (FProxy a) r r1 => Cons sym (FProxy b) r r2 => SProxy sym -> (a ~> b) -> (VariantF r1) ~> (VariantF r2)

#zoom' Source

zoom' :: forall a s. Lens' s a -> (State a) ~> (State s)

#zoomAt Source

zoomAt :: forall sym r2 r1 r a s. IsSymbol sym => Cons sym (STATE a) r r1 => Cons sym (STATE s) r r2 => SProxy sym -> Lens' s a -> (Run r1) ~> (Run r2)

#zoom Source

zoom :: forall r a s. Lens' s a -> (Run (state :: STATE a | r)) ~> (Run (state :: STATE s | r))

#use Source

use :: forall r b a t s. Getter s t a b -> Run (state :: STATE s | r) a

#useAt Source

useAt :: forall sym r1 r b a t s. IsSymbol sym => Cons sym (STATE s) r r1 => SProxy sym -> Getter s t a b -> Run r1 a

#(.=) Source

Operator alias for Run.Lenses.assign (non-associative / precedence 4)

#(%=) Source

Operator alias for Run.Lenses.modifying (non-associative / precedence 4)

#(+=) Source

Operator alias for Run.Lenses.addModifying (non-associative / precedence 4)

#(*=) Source

Operator alias for Run.Lenses.mulModifying (non-associative / precedence 4)

#(-=) Source

Operator alias for Run.Lenses.subModifying (non-associative / precedence 4)

#(//=) Source

Operator alias for Run.Lenses.divModifying (non-associative / precedence 4)

#(||=) Source

Operator alias for Run.Lenses.disjModifying (non-associative / precedence 4)

#(&&=) Source

Operator alias for Run.Lenses.conjModifying (non-associative / precedence 4)

#(<>=) Source

Operator alias for Run.Lenses.appendModifying (non-associative / precedence 4)

#(++=) Source

Operator alias for Run.Lenses.appendModifying (non-associative / precedence 4)

#(?=) Source

Operator alias for Run.Lenses.assignJust (non-associative / precedence 4)

#assign Source

assign :: forall r b a s. Setter s s a b -> b -> Run (state :: STATE s | r) Unit

Set the foci of a Setter in a monadic state to a constant value.

#modifying Source

modifying :: forall r b a s. Setter s s a b -> (a -> b) -> Run (state :: STATE s | r) Unit

Modify the foci of a Setter in a monadic state.

#addModifying Source

addModifying :: forall r a s. Semiring a => Setter' s a -> a -> Run (state :: STATE s | r) Unit

#mulModifying Source

mulModifying :: forall r a s. Semiring a => Setter' s a -> a -> Run (state :: STATE s | r) Unit

#subModifying Source

subModifying :: forall r a s. Ring a => Setter' s a -> a -> Run (state :: STATE s | r) Unit

#divModifying Source

divModifying :: forall r a s. EuclideanRing a => Setter' s a -> a -> Run (state :: STATE s | r) Unit

#disjModifying Source

disjModifying :: forall r a s. HeytingAlgebra a => Setter' s a -> a -> Run (state :: STATE s | r) Unit

#conjModifying Source

conjModifying :: forall r a s. HeytingAlgebra a => Setter' s a -> a -> Run (state :: STATE s | r) Unit

#appendModifying Source

appendModifying :: forall r a s. Semigroup a => Setter' s a -> a -> Run (state :: STATE s | r) Unit

#assignJust Source

assignJust :: forall r b a s. Setter s s a (Maybe b) -> b -> Run (state :: STATE s | r) Unit
Modules
Run.Lenses