Documentation
¶
Index ¶
- func Ap[GEA ~func(E) GIOA, GEB ~func(E) GIOB, GEFAB ~func(E) GIOFAB, GIOA ~func() A, ...](fa GEA) func(GEFAB) GEB
- func ApFirst[GRA ~func(R) GA, GRB ~func(R) GB, GRBA ~func(R) GBA, GA ~func() A, ...](second GRB) func(GRA) GRA
- func ApPar[GEA ~func(E) GIOA, GEB ~func(E) GIOB, GEFAB ~func(E) GIOFAB, GIOA ~func() A, ...](fa GEA) func(GEFAB) GEB
- func ApS[GRTS1 ~func(R) GTS1, GRS1 ~func(R) GS1, GRS2 ~func(R) GS2, GRT ~func(R) GT, ...](setter func(T) func(S1) S2, fa GRT) func(GRS1) GRS2
- func ApSecond[GRA ~func(R) GA, GRB ~func(R) GB, GRBB ~func(R) GBB, GA ~func() A, ...](second GRB) func(GRA) GRB
- func ApSeq[GEA ~func(E) GIOA, GEB ~func(E) GIOB, GEFAB ~func(E) GIOFAB, GIOA ~func() A, ...](fa GEA) func(GEFAB) GEB
- func Ask[GEE ~func(E) GIOE, GIOE ~func() E, E any]() GEE
- func Asks[GA ~func(E) A, GEA ~func(E) GIOA, GIOA ~func() A, E, A any](r GA) GEA
- func Bind[GRS1 ~func(R) GS1, GRS2 ~func(R) GS2, GRT ~func(R) GT, GS1 ~func() S1, ...](setter func(T) func(S1) S2, f func(S1) GRT) func(GRS1) GRS2
- func BindTo[GRS1 ~func(R) GS1, GRT ~func(R) GT, GS1 ~func() S1, GT ~func() T, R, S1, T any](setter func(T) S1) func(GRT) GRS1
- func Chain[GEA ~func(E) GIOA, GEB ~func(E) GIOB, GIOA ~func() A, GIOB ~func() B, ...](f func(A) GEB) func(GEA) GEB
- func ChainFirstIOK[GEA ~func(E) GIOA, GEB ~func(E) GIOB, GIOA ~func() A, GIOB ~func() B, ...](f func(A) GIOB) func(GEA) GEA
- func ChainIOK[GEA ~func(E) GIOA, GEB ~func(E) GIOB, GIOA ~func() A, GIOB ~func() B, ...](f func(A) GIOB) func(GEA) GEB
- func Defer[GEA ~func(E) GA, GA ~func() A, E, A any](gen func() GEA) GEA
- func Do[GRS ~func(R) GS, GS ~func() S, R, S any](empty S) GRS
- func Eq[GEA ~func(R) GIOA, GIOA ~func() A, R, A any](e EQ.Eq[A]) func(r R) EQ.Eq[GEA]
- func Flap[GEFAB ~func(E) GIOFAB, GEB ~func(E) GIOB, GIOFAB ~func() func(A) B, ...](a A) func(GEFAB) GEB
- func Flatten[GEA ~func(R) GIOA, GGEA ~func(R) GIOEA, GIOA ~func() A, GIOEA ~func() GEA, ...](mma GGEA) GEA
- func From0[GEA ~func(R) GIOA, GIOA ~func() A, R, A any](f func(R) GIOA) func() GEA
- func From1[GEA ~func(R) GIOA, GIOA ~func() A, R, T1, A any](f func(R, T1) GIOA) func(T1) GEA
- func From2[GEA ~func(R) GIOA, GIOA ~func() A, R, T1, T2, A any](f func(R, T1, T2) GIOA) func(T1, T2) GEA
- func From3[GEA ~func(R) GIOA, GIOA ~func() A, R, T1, T2, T3, A any](f func(R, T1, T2, T3) GIOA) func(T1, T2, T3) GEA
- func FromIO[GEA ~func(E) GIOA, GIOA ~func() A, E, A any](t GIOA) GEA
- func FromReader[GA ~func(E) A, GEA ~func(E) GIOA, GIOA ~func() A, E, A any](r GA) GEA
- func Let[GRS1 ~func(R) GS1, GRS2 ~func(R) GS2, GS1 ~func() S1, GS2 ~func() S2, ...](key func(T) func(S1) S2, f func(S1) T) func(GRS1) GRS2
- func LetTo[GRS1 ~func(R) GS1, GRS2 ~func(R) GS2, GS1 ~func() S1, GS2 ~func() S2, ...](key func(B) func(S1) S2, b B) func(GRS1) GRS2
- func Map[GEA ~func(E) GIOA, GEB ~func(E) GIOB, GIOA ~func() A, GIOB ~func() B, ...](f func(A) B) func(GEA) GEB
- func Memoize[GEA ~func(E) GA, GA ~func() A, E, A any](rdr GEA) GEA
- func MonadAp[GEA ~func(E) GIOA, GEB ~func(E) GIOB, GEFAB ~func(E) GIOFAB, GIOA ~func() A, ...](fab GEFAB, fa GEA) GEB
- func MonadApFirst[GRA ~func(R) GA, GRB ~func(R) GB, GRBA ~func(R) GBA, GA ~func() A, ...](first GRA, second GRB) GRA
- func MonadApPar[GEA ~func(E) GIOA, GEB ~func(E) GIOB, GEFAB ~func(E) GIOFAB, GIOA ~func() A, ...](fab GEFAB, fa GEA) GEB
- func MonadApSecond[GRA ~func(R) GA, GRB ~func(R) GB, GRBB ~func(R) GBB, GA ~func() A, ...](first GRA, second GRB) GRB
- func MonadApSeq[GEA ~func(E) GIOA, GEB ~func(E) GIOB, GEFAB ~func(E) GIOFAB, GIOA ~func() A, ...](fab GEFAB, fa GEA) GEB
- func MonadChain[GEA ~func(E) GIOA, GEB ~func(E) GIOB, GIOA ~func() A, GIOB ~func() B, ...](ma GEA, f func(A) GEB) GEB
- func MonadChainFirstIOK[GEA ~func(E) GIOA, GEB ~func(E) GIOB, GIOA ~func() A, GIOB ~func() B, ...](ma GEA, f func(A) GIOB) GEA
- func MonadChainIOK[GEA ~func(E) GIOA, GEB ~func(E) GIOB, GIOA ~func() A, GIOB ~func() B, ...](ma GEA, f func(A) GIOB) GEB
- func MonadFlap[GEFAB ~func(E) GIOFAB, GEB ~func(E) GIOB, GIOFAB ~func() func(A) B, ...](fab GEFAB, a A) GEB
- func MonadMap[GEA ~func(E) GIOA, GEB ~func(E) GIOB, GIOA ~func() A, GIOB ~func() B, ...](fa GEA, f func(A) B) GEB
- func MonadTraverseArray[GB ~func(E) GIOB, GBS ~func(E) GIOBS, GIOB ~func() B, GIOBS ~func() BBS, ...](ma AAS, f func(A) GB) GBS
- func Of[GEA ~func(E) GIOA, GIOA ~func() A, E, A any](a A) GEA
- func SequenceArray[GA ~func(E) GIOA, GAS ~func(E) GIOAS, GIOA ~func() A, GIOAS ~func() AAS, ...](ma GAAS) GAS
- func SequenceT1[GA ~func(E) GIOA, GTA ~func(E) GIOTA, GIOA ~func() A, ...](a GA) GTA
- func SequenceT2[GA ~func(E) GIOA, GB ~func(E) GIOB, GTAB ~func(E) GIOTAB, GIOA ~func() A, ...](a GA, b GB) GTAB
- func SequenceT3[GA ~func(E) GIOA, GB ~func(E) GIOB, GC ~func(E) GIOC, GTABC ~func(E) GIOTABC, ...](a GA, b GB, c GC) GTABC
- func SequenceT4[GA ~func(E) GIOA, GB ~func(E) GIOB, GC ~func(E) GIOC, GD ~func(E) GIOD, ...](a GA, b GB, c GC, d GD) GTABCD
- func TraverseArray[GB ~func(E) GIOB, GBS ~func(E) GIOBS, GIOB ~func() B, GIOBS ~func() BBS, ...](f func(A) GB) func(AAS) GBS
- func TraverseArrayWithIndex[GB ~func(E) GIOB, GBS ~func(E) GIOBS, GIOB ~func() B, GIOBS ~func() BBS, ...](f func(int, A) GB) func(AAS) GBS
- func WithLock[GEA ~func(R) GIOA, GIOA ~func() A, R, A any](lock func() context.CancelFunc) func(fa GEA) GEA
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Ap ¶
func Ap[GEA ~func(E) GIOA, GEB ~func(E) GIOB, GEFAB ~func(E) GIOFAB, GIOA ~func() A, GIOB ~func() B, GIOFAB ~func() func(A) B, E, A, B any](fa GEA) func(GEFAB) GEB
func ApFirst ¶
func ApFirst[GRA ~func(R) GA, GRB ~func(R) GB, GRBA ~func(R) GBA, GA ~func() A, GB ~func() B, GBA ~func() func(B) A, R, A, B any](second GRB) func(GRA) GRA
ApFirst combines two effectful actions, keeping only the result of the first.
func ApPar ¶ added in v1.0.4
func ApPar[GEA ~func(E) GIOA, GEB ~func(E) GIOB, GEFAB ~func(E) GIOFAB, GIOA ~func() A, GIOB ~func() B, GIOFAB ~func() func(A) B, E, A, B any](fa GEA) func(GEFAB) GEB
func ApS ¶ added in v1.0.107
func ApS[GRTS1 ~func(R) GTS1, GRS1 ~func(R) GS1, GRS2 ~func(R) GS2, GRT ~func(R) GT, GTS1 ~func() func(T) S2, GS1 ~func() S1, GS2 ~func() S2, GT ~func() T, R, S1, S2, T any]( setter func(T) func(S1) S2, fa GRT, ) func(GRS1) GRS2
ApS attaches a value to a context [S1] to produce a context [S2] by considering the context and the value concurrently
func ApSecond ¶
func ApSecond[GRA ~func(R) GA, GRB ~func(R) GB, GRBB ~func(R) GBB, GA ~func() A, GB ~func() B, GBB ~func() func(B) B, R, A, B any](second GRB) func(GRA) GRB
ApSecond combines two effectful actions, keeping only the result of the second.
func ApSeq ¶ added in v1.0.4
func ApSeq[GEA ~func(E) GIOA, GEB ~func(E) GIOB, GEFAB ~func(E) GIOFAB, GIOA ~func() A, GIOB ~func() B, GIOFAB ~func() func(A) B, E, A, B any](fa GEA) func(GEFAB) GEB
func Bind ¶ added in v1.0.107
func Bind[GRS1 ~func(R) GS1, GRS2 ~func(R) GS2, GRT ~func(R) GT, GS1 ~func() S1, GS2 ~func() S2, GT ~func() T, R, S1, S2, T any]( setter func(T) func(S1) S2, f func(S1) GRT, ) func(GRS1) GRS2
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[GRS1 ~func(R) GS1, GRT ~func(R) GT, GS1 ~func() S1, GT ~func() T, R, S1, T any]( setter func(T) S1, ) func(GRT) GRS1
BindTo initializes a new state [S1] from a value [T]
func Chain ¶
func Chain[GEA ~func(E) GIOA, GEB ~func(E) GIOB, GIOA ~func() A, GIOB ~func() B, E, A, B any](f func(A) GEB) func(GEA) GEB
func ChainFirstIOK ¶ added in v1.0.41
func ChainFirstIOK[GEA ~func(E) GIOA, GEB ~func(E) GIOB, GIOA ~func() A, GIOB ~func() B, E, A, B any](f func(A) GIOB) func(GEA) GEA
func ChainIOK ¶
func ChainIOK[GEA ~func(E) GIOA, GEB ~func(E) GIOB, GIOA ~func() A, GIOB ~func() B, E, A, B any](f func(A) GIOB) func(GEA) GEB
func Defer ¶
func Defer[GEA ~func(E) GA, GA ~func() A, E, A any](gen func() GEA) GEA
Defer creates an IO by creating a brand new IO via a generator function, each time
func Do ¶ added in v1.0.107
func Do[GRS ~func(R) GS, GS ~func() S, R, S any]( empty S, ) GRS
Bind creates an empty context of type [S] to be used with the Bind operation
func Flap ¶ added in v1.0.47
func Flap[GEFAB ~func(E) GIOFAB, GEB ~func(E) GIOB, GIOFAB ~func() func(A) B, GIOB ~func() B, E, A, B any](a A) func(GEFAB) GEB
func Flatten ¶ added in v1.0.37
func Flatten[GEA ~func(R) GIOA, GGEA ~func(R) GIOEA, GIOA ~func() A, GIOEA ~func() GEA, R, A any](mma GGEA) GEA
func From1 ¶
func From1[GEA ~func(R) GIOA, GIOA ~func() A, R, T1, A any](f func(R, T1) GIOA) func(T1) GEA
func From2 ¶
func From2[GEA ~func(R) GIOA, GIOA ~func() A, R, T1, T2, A any](f func(R, T1, T2) GIOA) func(T1, T2) GEA
func From3 ¶
func From3[GEA ~func(R) GIOA, GIOA ~func() A, R, T1, T2, T3, A any](f func(R, T1, T2, T3) GIOA) func(T1, T2, T3) GEA
func FromReader ¶
func FromReader[GA ~func(E) A, GEA ~func(E) GIOA, GIOA ~func() A, E, A any](r GA) GEA
func Let ¶ added in v1.0.107
func Let[GRS1 ~func(R) GS1, GRS2 ~func(R) GS2, GS1 ~func() S1, GS2 ~func() S2, R, S1, S2, T any]( key func(T) func(S1) S2, f func(S1) T, ) func(GRS1) GRS2
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[GRS1 ~func(R) GS1, GRS2 ~func(R) GS2, GS1 ~func() S1, GS2 ~func() S2, R, S1, S2, B any]( key func(B) func(S1) S2, b B, ) func(GRS1) GRS2
LetTo attaches the a value to a context [S1] to produce a context [S2]
func Map ¶
func Map[GEA ~func(E) GIOA, GEB ~func(E) GIOB, GIOA ~func() A, GIOB ~func() B, E, A, B any](f func(A) B) func(GEA) GEB
func Memoize ¶ added in v1.0.36
func Memoize[GEA ~func(E) GA, GA ~func() A, E, A any](rdr GEA) GEA
Memoize computes the value of the provided reader monad lazily but exactly once The context used to compute the value is the context of the first call, so do not use this method if the value has a functional dependency on the content of the context
func MonadAp ¶
func MonadAp[GEA ~func(E) GIOA, GEB ~func(E) GIOB, GEFAB ~func(E) GIOFAB, GIOA ~func() A, GIOB ~func() B, GIOFAB ~func() func(A) B, E, A, B any](fab GEFAB, fa GEA) GEB
func MonadApFirst ¶
func MonadApFirst[GRA ~func(R) GA, GRB ~func(R) GB, GRBA ~func(R) GBA, GA ~func() A, GB ~func() B, GBA ~func() func(B) A, R, A, B any](first GRA, second GRB) GRA
MonadApFirst combines two effectful actions, keeping only the result of the first.
func MonadApPar ¶ added in v1.0.4
func MonadApPar[GEA ~func(E) GIOA, GEB ~func(E) GIOB, GEFAB ~func(E) GIOFAB, GIOA ~func() A, GIOB ~func() B, GIOFAB ~func() func(A) B, E, A, B any](fab GEFAB, fa GEA) GEB
func MonadApSecond ¶
func MonadApSecond[GRA ~func(R) GA, GRB ~func(R) GB, GRBB ~func(R) GBB, GA ~func() A, GB ~func() B, GBB ~func() func(B) B, R, A, B any](first GRA, second GRB) GRB
MonadApSecond combines two effectful actions, keeping only the result of the second.
func MonadApSeq ¶ added in v1.0.4
func MonadApSeq[GEA ~func(E) GIOA, GEB ~func(E) GIOB, GEFAB ~func(E) GIOFAB, GIOA ~func() A, GIOB ~func() B, GIOFAB ~func() func(A) B, E, A, B any](fab GEFAB, fa GEA) GEB
func MonadChain ¶
func MonadChain[GEA ~func(E) GIOA, GEB ~func(E) GIOB, GIOA ~func() A, GIOB ~func() B, E, A, B any](ma GEA, f func(A) GEB) GEB
func MonadChainFirstIOK ¶ added in v1.0.41
func MonadChainFirstIOK[GEA ~func(E) GIOA, GEB ~func(E) GIOB, GIOA ~func() A, GIOB ~func() B, E, A, B any](ma GEA, f func(A) GIOB) GEA
func MonadChainIOK ¶
func MonadChainIOK[GEA ~func(E) GIOA, GEB ~func(E) GIOB, GIOA ~func() A, GIOB ~func() B, E, A, B any](ma GEA, f func(A) GIOB) GEB
func MonadFlap ¶ added in v1.0.47
func MonadFlap[GEFAB ~func(E) GIOFAB, GEB ~func(E) GIOB, GIOFAB ~func() func(A) B, GIOB ~func() B, E, A, B any](fab GEFAB, a A) GEB
func MonadMap ¶
func MonadMap[GEA ~func(E) GIOA, GEB ~func(E) GIOB, GIOA ~func() A, GIOB ~func() B, E, A, B any](fa GEA, f func(A) B) GEB
func MonadTraverseArray ¶
func MonadTraverseArray[GB ~func(E) GIOB, GBS ~func(E) GIOBS, GIOB ~func() B, GIOBS ~func() BBS, AAS ~[]A, BBS ~[]B, E, A, B any](ma AAS, f func(A) GB) GBS
MonadTraverseArray transforms an array
func SequenceArray ¶
func SequenceArray[GA ~func(E) GIOA, GAS ~func(E) GIOAS, GIOA ~func() A, GIOAS ~func() AAS, AAS ~[]A, GAAS ~[]GA, E, A any](ma GAAS) GAS
SequenceArray converts a homogeneous sequence of either into an either of sequence
func SequenceT1 ¶
func SequenceT2 ¶
func SequenceT3 ¶
func SequenceT4 ¶
func TraverseArray ¶
func TraverseArray[GB ~func(E) GIOB, GBS ~func(E) GIOBS, GIOB ~func() B, GIOBS ~func() BBS, AAS ~[]A, BBS ~[]B, E, A, B any](f func(A) GB) func(AAS) GBS
TraverseArray transforms an array
func TraverseArrayWithIndex ¶ added in v1.0.29
func TraverseArrayWithIndex[GB ~func(E) GIOB, GBS ~func(E) GIOBS, GIOB ~func() B, GIOBS ~func() BBS, AAS ~[]A, BBS ~[]B, E, A, B any](f func(int, A) GB) func(AAS) GBS
TraverseArrayWithIndex transforms an array
func WithLock ¶ added in v1.0.50
func WithLock[GEA ~func(R) GIOA, GIOA ~func() A, R, A any](lock func() context.CancelFunc) func(fa GEA) GEA
WithLock executes the provided IO operation in the scope of a lock
Types ¶
This section is empty.