Documentation
¶
Index ¶
- func Ap[GB ~func() T.Tuple3[B, W, SG.Semigroup[W]], ...](ga GA) func(GAB) GB
- func ApS[GS1 ~func() T.Tuple3[S1, W, SG.Semigroup[W]], ...](setter func(A) func(S1) S2, fa GT) func(GS1) GS2
- func Bind[GS1 ~func() T.Tuple3[S1, W, SG.Semigroup[W]], ...](setter func(A) func(S1) S2, f func(S1) GT) func(GS1) GS2
- func BindTo[GS1 ~func() T.Tuple3[S1, W, SG.Semigroup[W]], ...](setter func(A) S1) func(GT) GS1
- func Censor[GA ~func() T.Tuple3[A, W, SG.Semigroup[W]], FCT ~func(W) W, W, A any](f FCT) func(GA) GA
- func Chain[GB ~func() T.Tuple3[B, W, SG.Semigroup[W]], ...](f FCT) func(GA) GB
- func ChainFirst[GB ~func() T.Tuple3[B, W, SG.Semigroup[W]], ...](f FCT) func(GA) GA
- func Do[GS ~func() T.Tuple3[S, W, SG.Semigroup[W]], W, S any](m M.Monoid[W]) func(S) GS
- func Eq[GA ~func() T.Tuple3[A, W, SG.Semigroup[W]], W, A any](w EQ.Eq[W], a EQ.Eq[A]) EQ.Eq[GA]
- func Evaluate[GA ~func() T.Tuple3[A, W, SG.Semigroup[W]], W, A any](fa GA) A
- func Execute[GA ~func() T.Tuple3[A, W, SG.Semigroup[W]], W, A any](fa GA) W
- func Flap[FAB ~func(A) B, GFAB ~func() T.Tuple3[FAB, W, SG.Semigroup[W]], ...](a A) func(GFAB) GB
- func Flatten[GAA ~func() T.Tuple3[GA, W, SG.Semigroup[W]], ...](mma GAA) GA
- func FromStrictEquals[GA ~func() T.Tuple3[A, W, SG.Semigroup[W]], W, A comparable]() EQ.Eq[GA]
- func Let[GS1 ~func() T.Tuple3[S1, W, SG.Semigroup[W]], ...](key func(A) func(S1) S2, f func(S1) A) func(GS1) GS2
- func LetTo[GS1 ~func() T.Tuple3[S1, W, SG.Semigroup[W]], ...](key func(B) func(S1) S2, b B) func(GS1) GS2
- func Listen[GA ~func() T.Tuple3[A, W, SG.Semigroup[W]], ...](fa GA) GTA
- func Listens[GA ~func() T.Tuple3[A, W, SG.Semigroup[W]], ...](f FCT) func(GA) GAB
- func Map[GB ~func() T.Tuple3[B, W, SG.Semigroup[W]], ...](f FCT) func(GA) GB
- func MonadAp[GB ~func() T.Tuple3[B, W, SG.Semigroup[W]], ...](fab GAB, fa GA) GB
- func MonadCensor[GA ~func() T.Tuple3[A, W, SG.Semigroup[W]], FCT ~func(W) W, W, A any](fa GA, f FCT) GA
- func MonadChain[GB ~func() T.Tuple3[B, W, SG.Semigroup[W]], ...](fa GA, f FCT) GB
- func MonadChainFirst[GB ~func() T.Tuple3[B, W, SG.Semigroup[W]], ...](ma GA, f FCT) GA
- func MonadFlap[FAB ~func(A) B, GFAB ~func() T.Tuple3[FAB, W, SG.Semigroup[W]], ...](fab GFAB, a A) GB
- func MonadListens[GA ~func() T.Tuple3[A, W, SG.Semigroup[W]], ...](fa GA, f FCT) GAB
- func MonadMap[GB ~func() T.Tuple3[B, W, SG.Semigroup[W]], ...](fa GA, f FCT) GB
- func Of[GA ~func() T.Tuple3[A, W, SG.Semigroup[W]], W, A any](m M.Monoid[W]) func(A) GA
- func Pass[GFA ~func() T.Tuple3[T.Tuple2[A, FCT], W, SG.Semigroup[W]], ...](fa GFA) GA
- func Tell[GA ~func() T.Tuple3[any, W, SG.Semigroup[W]], W any](s SG.Semigroup[W]) func(W) GA
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ApS ¶ added in v1.0.107
func ApS[GS1 ~func() T.Tuple3[S1, W, SG.Semigroup[W]], GS2 ~func() T.Tuple3[S2, W, SG.Semigroup[W]], GT ~func() T.Tuple3[A, W, SG.Semigroup[W]], W, S1, S2, A any]( setter func(A) func(S1) S2, fa GT, ) func(GS1) GS2
ApS attaches a value to a context [S1] to produce a context [S2] by considering the context and the value concurrently
func Bind ¶ added in v1.0.107
func Bind[GS1 ~func() T.Tuple3[S1, W, SG.Semigroup[W]], GS2 ~func() T.Tuple3[S2, W, SG.Semigroup[W]], GT ~func() T.Tuple3[A, W, SG.Semigroup[W]], W, S1, S2, A any]( setter func(A) func(S1) S2, f func(S1) GT, ) func(GS1) GS2
Bind attaches the result of a computation to a context [S1] to produce a context [S2]
func BindTo ¶ added in v1.0.107
func BindTo[GS1 ~func() T.Tuple3[S1, W, SG.Semigroup[W]], GT ~func() T.Tuple3[A, W, SG.Semigroup[W]], W, S1, A any]( setter func(A) S1, ) func(GT) GS1
BindTo initializes a new state [S1] from a value [T]
func Censor ¶
func Censor[GA ~func() T.Tuple3[A, W, SG.Semigroup[W]], FCT ~func(W) W, W, A any](f FCT) func(GA) GA
Censor modifies the final accumulator value by applying a function
func ChainFirst ¶
func Do ¶ added in v1.0.107
Bind creates an empty context of type [S] to be used with the Bind operation
func FromStrictEquals ¶
FromStrictEquals constructs an [EQ.Eq] from the canonical comparison function
func Let ¶ added in v1.0.107
func Let[GS1 ~func() T.Tuple3[S1, W, SG.Semigroup[W]], GS2 ~func() T.Tuple3[S2, W, SG.Semigroup[W]], W, S1, S2, A any]( key func(A) func(S1) S2, f func(S1) A, ) func(GS1) GS2
Let attaches the result of a computation to a context [S1] to produce a context [S2]
func LetTo ¶ added in v1.0.107
func LetTo[GS1 ~func() T.Tuple3[S1, W, SG.Semigroup[W]], GS2 ~func() T.Tuple3[S2, W, SG.Semigroup[W]], W, S1, S2, B any]( key func(B) func(S1) S2, b B, ) func(GS1) GS2
LetTo attaches the a value to a context [S1] to produce a context [S2]
func Listen ¶ added in v1.0.107
func Listen[GA ~func() T.Tuple3[A, W, SG.Semigroup[W]], GTA ~func() T.Tuple3[T.Tuple2[A, W], W, SG.Semigroup[W]], W, A any](fa GA) GTA
Listen modifies the result to include the changes to the accumulator
func Listens ¶
func Listens[GA ~func() T.Tuple3[A, W, SG.Semigroup[W]], GAB ~func() T.Tuple3[T.Tuple2[A, B], W, SG.Semigroup[W]], FCT ~func(W) B, W, A, B any](f FCT) func(GA) GAB
Listens projects a value from modifications made to the accumulator during an action
func MonadCensor ¶
func MonadCensor[GA ~func() T.Tuple3[A, W, SG.Semigroup[W]], FCT ~func(W) W, W, A any](fa GA, f FCT) GA
MonadCensor modifies the final accumulator value by applying a function
func MonadChain ¶
func MonadChainFirst ¶
func MonadListens ¶
func MonadListens[GA ~func() T.Tuple3[A, W, SG.Semigroup[W]], GAB ~func() T.Tuple3[T.Tuple2[A, B], W, SG.Semigroup[W]], FCT ~func(W) B, W, A, B any](fa GA, f FCT) GAB
MonadListens projects a value from modifications made to the accumulator during an action
Types ¶
This section is empty.