Documentation
¶
Index ¶
- Variables
- func Ap[B, A any](ma Lazy[A]) func(Lazy[func(A) B]) Lazy[B]
- func ApFirst[A, B any](second Lazy[B]) func(Lazy[A]) Lazy[A]
- func ApSecond[A, B any](second Lazy[B]) func(Lazy[A]) Lazy[B]
- func ApplicativeMonoid[A any](m M.Monoid[A]) M.Monoid[Lazy[A]]
- func ApplySemigroup[A any](s S.Semigroup[A]) S.Semigroup[Lazy[A]]
- func Chain[A, B any](f func(A) Lazy[B]) func(Lazy[A]) Lazy[B]
- func ChainFirst[A, B any](f func(A) Lazy[B]) func(Lazy[A]) Lazy[A]
- func ChainTo[A, B any](fb Lazy[B]) func(Lazy[A]) Lazy[B]
- func Eq[A any](e EQ.Eq[A]) EQ.Eq[Lazy[A]]
- func Map[A, B any](f func(A) B) func(fa Lazy[A]) Lazy[B]
- func MapTo[A, B any](b B) func(Lazy[A]) Lazy[B]
- func TraverseArray[A, B any](f func(A) Lazy[B]) func([]A) Lazy[[]B]
- func TraverseArrayWithIndex[A, B any](f func(int, A) Lazy[B]) func([]A) Lazy[[]B]
- func TraverseRecord[K comparable, A, B any](f func(A) Lazy[B]) func(map[K]A) Lazy[map[K]B]
- func TraverseRecordWithIndex[K comparable, A, B any](f func(K, A) Lazy[B]) func(map[K]A) Lazy[map[K]B]
- type Lazy
- func Defer[A any](gen func() Lazy[A]) Lazy[A]
- func Flatten[A any](mma Lazy[Lazy[A]]) Lazy[A]
- func FromImpure(f func()) Lazy[any]
- func FromLazy[A any](a Lazy[A]) Lazy[A]
- func MakeLazy[A any](f func() A) Lazy[A]
- func Memoize[A any](ma Lazy[A]) Lazy[A]
- func MonadAp[B, A any](mab Lazy[func(A) B], ma Lazy[A]) Lazy[B]
- func MonadApFirst[A, B any](first Lazy[A], second Lazy[B]) Lazy[A]
- func MonadApSecond[A, B any](first Lazy[A], second Lazy[B]) Lazy[B]
- func MonadChain[A, B any](fa Lazy[A], f func(A) Lazy[B]) Lazy[B]
- func MonadChainFirst[A, B any](fa Lazy[A], f func(A) Lazy[B]) Lazy[A]
- func MonadChainTo[A, B any](fa Lazy[A], fb Lazy[B]) Lazy[B]
- func MonadMap[A, B any](fa Lazy[A], f func(A) B) Lazy[B]
- func MonadMapTo[A, B any](fa Lazy[A], b B) Lazy[B]
- func MonadOf[A any](a A) Lazy[A]
- func MonadTraverseArray[A, B any](tas []A, f func(A) Lazy[B]) Lazy[[]B]
- func MonadTraverseRecord[K comparable, A, B any](tas map[K]A, f func(A) Lazy[B]) Lazy[map[K]B]
- func Of[A any](a A) Lazy[A]
- func Retrying[A any](policy R.RetryPolicy, action func(R.RetryStatus) Lazy[A], check func(A) bool) Lazy[A]
- func SequenceArray[A any](tas []Lazy[A]) Lazy[[]A]
- func SequenceRecord[K comparable, A any](tas map[K]Lazy[A]) Lazy[map[K]A]
- func SequenceT1[A any](a Lazy[A]) Lazy[T.Tuple1[A]]
- func SequenceT2[A, B any](a Lazy[A], b Lazy[B]) Lazy[T.Tuple2[A, B]]
- func SequenceT3[A, B, C any](a Lazy[A], b Lazy[B], c Lazy[C]) Lazy[T.Tuple3[A, B, C]]
- func SequenceT4[A, B, C, D any](a Lazy[A], b Lazy[B], c Lazy[C], d Lazy[D]) Lazy[T.Tuple4[A, B, C, D]]
Examples ¶
Constants ¶
This section is empty.
Variables ¶
Now returns the current timestamp
Functions ¶
func Chain ¶
Chain composes computations in sequence, using the return value of one computation to determine the next computation.
func ChainFirst ¶
ChainFirst composes computations in sequence, using the return value of one computation to determine the next computation and keeping only the result of the first.
func ChainTo ¶
ChainTo composes computations in sequence, ignoring the return value of the first computation
func TraverseArray ¶
TraverseArray applies a function returning an [IO] to all elements in an array and the transforms this into an [IO] of that array
func TraverseArrayWithIndex ¶ added in v1.0.29
TraverseArrayWithIndex applies a function returning an [IO] to all elements in an array and the transforms this into an [IO] of that array
func TraverseRecord ¶
func TraverseRecord[K comparable, A, B any](f func(A) Lazy[B]) func(map[K]A) Lazy[map[K]B]
TraverseRecord applies a function returning an [IO] to all elements in a record and the transforms this into an [IO] of that record
func TraverseRecordWithIndex ¶ added in v1.0.29
func TraverseRecordWithIndex[K comparable, A, B any](f func(K, A) Lazy[B]) func(map[K]A) Lazy[map[K]B]
TraverseRecord applies a function returning an [IO] to all elements in a record and the transforms this into an [IO] of that record
Types ¶
type Lazy ¶
type Lazy[A any] func() A
Lazy represents a synchronous computation without side effects
Example (Creation) ¶
// lazy function of a constant value val := Of(42) // create another function to transform this valS := F.Pipe1( val, Map(strconv.Itoa), ) fmt.Println(valS())
Output: 42
func FromImpure ¶
FromImpure converts a side effect without a return value into a side effect that returns any
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 ¶
MonadChain composes computations in sequence, using the return value of one computation to determine the next computation.
func MonadChainFirst ¶
MonadChainFirst composes computations in sequence, using the return value of one computation to determine the next computation and keeping only the result of the first.
func MonadChainTo ¶
MonadChainTo composes computations in sequence, ignoring the return value of the first computation
func MonadMapTo ¶
func MonadTraverseArray ¶
func MonadTraverseRecord ¶
func MonadTraverseRecord[K comparable, A, B any](tas map[K]A, f func(A) Lazy[B]) Lazy[map[K]B]
func Retrying ¶
func Retrying[A any]( policy R.RetryPolicy, action func(R.RetryStatus) Lazy[A], check func(A) bool, ) Lazy[A]
Retrying will retry the actions according to the check policy
policy - refers to the retry policy action - converts a status into an operation to be executed check - checks if the result of the action needs to be retried
func SequenceArray ¶
SequenceArray converts an array of [IO] to an [IO] of an array
func SequenceRecord ¶
func SequenceRecord[K comparable, A any](tas map[K]Lazy[A]) Lazy[map[K]A]
SequenceRecord converts a record of [IO] to an [IO] of a record