package readerio
import "github.com/IBM/fp-go/readerio"
Index ¶
- func Ap[B, E, A any](fa ReaderIO[E, A]) func(ReaderIO[E, func(A) B]) ReaderIO[E, B]
- func ApFirst[A, R, B any](second ReaderIO[R, B]) func(ReaderIO[R, A]) ReaderIO[R, A]
- func ApS[R, S1, S2, T any]( setter func(T) func(S1) S2, fa ReaderIO[R, T], ) func(ReaderIO[R, S1]) ReaderIO[R, S2]
- func ApSecond[A, R, B any](second ReaderIO[R, B]) func(ReaderIO[R, A]) ReaderIO[R, B]
- func Bind[R, S1, S2, T any]( setter func(T) func(S1) S2, f func(S1) ReaderIO[R, T], ) func(ReaderIO[R, S1]) ReaderIO[R, S2]
- func BindTo[R, S1, T any]( setter func(T) S1, ) func(ReaderIO[R, T]) ReaderIO[R, S1]
- func Chain[E, A, B any](f func(A) ReaderIO[E, B]) func(ReaderIO[E, A]) ReaderIO[E, B]
- func ChainIOK[E, A, B any](f func(A) IO.IO[B]) func(ReaderIO[E, A]) ReaderIO[E, B]
- func Eq[R, A any](e EQ.Eq[A]) func(r R) EQ.Eq[ReaderIO[R, A]]
- func Flap[E, A, B any](a A) func(ReaderIO[E, func(A) B]) ReaderIO[E, B]
- func From0[R, A any](f func(R) IO.IO[A]) func() ReaderIO[R, A]
- func From1[R, T1, A any](f func(R, T1) IO.IO[A]) func(T1) ReaderIO[R, A]
- func From2[R, T1, T2, A any](f func(R, T1, T2) IO.IO[A]) func(T1, T2) ReaderIO[R, A]
- func From3[R, T1, T2, T3, A any](f func(R, T1, T2, T3) IO.IO[A]) func(T1, T2, T3) ReaderIO[R, A]
- func Let[R, S1, S2, T any]( setter func(T) func(S1) S2, f func(S1) T, ) func(ReaderIO[R, S1]) ReaderIO[R, S2]
- func LetTo[R, S1, S2, T any]( setter func(T) func(S1) S2, b T, ) func(ReaderIO[R, S1]) ReaderIO[R, S2]
- func Map[E, A, B any](f func(A) B) func(ReaderIO[E, A]) ReaderIO[E, B]
- func TraverseArray[R, A, B any](f func(A) ReaderIO[R, B]) func([]A) ReaderIO[R, []B]
- func TraverseArrayWithIndex[R, A, B any](f func(int, A) ReaderIO[R, B]) func([]A) ReaderIO[R, []B]
- func WithLock[R, A any](lock func() context.CancelFunc) func(fa ReaderIO[R, A]) ReaderIO[R, A]
- type ReaderIO
- func Ask[E any]() ReaderIO[E, E]
- func Asks[E, A any](r R.Reader[E, A]) ReaderIO[E, A]
- func Defer[E, A any](gen func() ReaderIO[E, A]) ReaderIO[E, A]
- func Do[R, S any]( empty S, ) ReaderIO[R, S]
- func Flatten[E, A any](mma ReaderIO[E, ReaderIO[E, A]]) ReaderIO[E, A]
- func FromIO[E, A any](t IO.IO[A]) ReaderIO[E, A]
- func Memoize[E, A any](rdr ReaderIO[E, A]) ReaderIO[E, A]
- func MonadAp[B, E, A any](fab ReaderIO[E, func(A) B], fa ReaderIO[E, A]) ReaderIO[E, B]
- func MonadApFirst[A, R, B any](first ReaderIO[R, A], second ReaderIO[R, B]) ReaderIO[R, A]
- func MonadApSecond[A, R, B any](first ReaderIO[R, A], second ReaderIO[R, B]) ReaderIO[R, B]
- func MonadChain[E, A, B any](ma ReaderIO[E, A], f func(A) ReaderIO[E, B]) ReaderIO[E, B]
- func MonadChainIOK[E, A, B any](ma ReaderIO[E, A], f func(A) IO.IO[B]) ReaderIO[E, B]
- func MonadFlap[E, A, B any](fab ReaderIO[E, func(A) B], a A) ReaderIO[E, B]
- func MonadMap[E, A, B any](fa ReaderIO[E, A], f func(A) B) ReaderIO[E, B]
- func Of[E, A any](a A) ReaderIO[E, A]
- func SequenceArray[R, A any](ma []ReaderIO[R, A]) ReaderIO[R, []A]
- func SequenceT1[R, A any](a ReaderIO[R, A]) ReaderIO[R, T.Tuple1[A]]
- func SequenceT2[R, A, B any](a ReaderIO[R, A], b ReaderIO[R, B]) ReaderIO[R, T.Tuple2[A, B]]
- func SequenceT3[R, A, B, C any](a ReaderIO[R, A], b ReaderIO[R, B], c ReaderIO[R, C]) ReaderIO[R, T.Tuple3[A, B, C]]
- func SequenceT4[R, A, B, C, D any](a ReaderIO[R, A], b ReaderIO[R, B], c ReaderIO[R, C], d ReaderIO[R, D]) ReaderIO[R, T.Tuple4[A, B, C, D]]
Functions ¶
func Ap ¶
func ApFirst ¶
ApFirst combines two effectful actions, keeping only the result of the first.
func ApS ¶
func ApS[R, S1, S2, T any]( setter func(T) func(S1) S2, fa ReaderIO[R, T], ) func(ReaderIO[R, S1]) ReaderIO[R, S2]
ApS attaches a value to a context [S1] to produce a context [S2] by considering the context and the value concurrently
func ApSecond ¶
ApSecond combines two effectful actions, keeping only the result of the second.
func Bind ¶
func Bind[R, S1, S2, T any]( setter func(T) func(S1) S2, f func(S1) ReaderIO[R, T], ) func(ReaderIO[R, S1]) ReaderIO[R, S2]
Bind attaches the result of a computation to a context [S1] to produce a context [S2]
func BindTo ¶
BindTo initializes a new state [S1] from a value [T]
func Chain ¶
func ChainIOK ¶
func Eq ¶
Eq implements the equals predicate for values contained in the IO monad
func Flap ¶
func From0 ¶
func From1 ¶
func From2 ¶
func From3 ¶
func Let ¶
func Let[R, S1, S2, T any]( setter func(T) func(S1) S2, f func(S1) T, ) func(ReaderIO[R, S1]) ReaderIO[R, S2]
Let attaches the result of a computation to a context [S1] to produce a context [S2]
func LetTo ¶
func LetTo[R, S1, S2, T any]( setter func(T) func(S1) S2, b T, ) func(ReaderIO[R, S1]) ReaderIO[R, S2]
LetTo attaches the a value to a context [S1] to produce a context [S2]
func Map ¶
func TraverseArray ¶
TraverseArray transforms an array
func TraverseArrayWithIndex ¶
TraverseArrayWithIndex transforms an array
func WithLock ¶
func WithLock[R, A any](lock func() context.CancelFunc) func(fa ReaderIO[R, A]) ReaderIO[R, A]
WithLock executes the provided IO operation in the scope of a lock
Types ¶
type ReaderIO ¶
func Ask ¶
func Asks ¶
func Defer ¶
Defer creates an IO by creating a brand new IO via a generator function, each time
func Do ¶
Bind creates an empty context of type [S] to be used with the Bind operation
func Flatten ¶
func FromIO ¶
FromIO converts an [IO.IO] to a ReaderIO
func Memoize ¶
Memoize computes the value of the provided ReaderIO 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 MonadApFirst ¶
MonadApFirst combines two effectful actions, keeping only the result of the first.
func MonadApSecond ¶
MonadApSecond combines two effectful actions, keeping only the result of the second.
func MonadChain ¶
func MonadChainIOK ¶
func MonadFlap ¶
func MonadMap ¶
func Of ¶
func SequenceArray ¶
SequenceArray converts a homogeneous sequence of Readers into a Reader of sequence
func SequenceT1 ¶
func SequenceT2 ¶
func SequenceT3 ¶
func SequenceT3[R, A, B, C any](a ReaderIO[R, A], b ReaderIO[R, B], c ReaderIO[R, C]) ReaderIO[R, T.Tuple3[A, B, C]]
func SequenceT4 ¶
func SequenceT4[R, A, B, C, D any](a ReaderIO[R, A], b ReaderIO[R, B], c ReaderIO[R, C], d ReaderIO[R, D]) ReaderIO[R, T.Tuple4[A, B, C, D]]
Source Files ¶
ap.go array.go bind.go eq.go from.go reader.go sequence.go sync.go
Directories ¶
Path | Synopsis |
---|---|
readerio/generic |
- Version
- v1.0.151 (latest)
- Published
- Nov 23, 2024
- Platform
- linux/amd64
- Imports
- 6 packages
- Last checked
- 4 months ago –
Tools for package owners.