# Functions
After creates an operation that passes after the given timestamp.
No description provided by the author
ApFirst combines two effectful actions, keeping only the result of the first.
No description provided by the author
No description provided by the author
ApS attaches a value to a context [S1] to produce a context [S2] by considering the context and the value concurrently.
ApSecond combines two effectful actions, keeping only the result of the second.
Bind attaches the result of a computation to a context [S1] to produce a context [S2].
BindTo initializes a new state [S1] from a value [T].
Bracket makes sure that a resource is cleaned up in the event of an error.
Chain composes computations in sequence, using the return value of one computation to determine the next computation.
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.
ChainTo composes computations in sequence, ignoring the return value of the first computation.
Defer creates an IO by creating a brand new IO via a generator function, each time.
Delay creates an operation that passes in the value after some delay.
Bind creates an empty context of type [S] to be used with the [Bind] operation.
Eq implements the equals predicate for values contained in the IO monad.
No description provided by the author
No description provided by the author
FromImpure converts a side effect without a return value into a side effect that returns any.
No description provided by the author
FromStrictEquals constructs an [EQ.Eq] from the canonical comparison function.
Functor returns the monadic operations for [IO].
Let attaches the result of a computation to a context [S1] to produce a context [S2].
LetTo attaches the a value to a context [S1] to produce a context [S2].
Logf constructs a logger function that can be used with ChainXXXIOK the string prefix contains the format string for the log value.
Logger constructs a logger function that can be used with ChainXXXIOK.
No description provided by the author
No description provided by the author
No description provided by the author
Memoize computes the value of the provided [IO] monad lazily but exactly once.
Monad returns the monadic operations for [IO].
No description provided by the author
MonadApFirst combines two effectful actions, keeping only the result of the first.
MonadApSecond combines two effectful actions, keeping only the result of the second.
MonadChain composes computations in sequence, using the return value of one computation to determine the next computation.
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.
MonadChainTo composes computations in sequence, ignoring the return value of the first computation.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Pointed returns the monadic operations for [IO].
Printf constructs a printer function that can be used with ChainXXXIOK the string prefix contains the format string for the log value.
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.
SequenceArray converts an array of [IO] to an [IO] of an array.
SequenceArraySeq converts an array of [IO] to an [IO] of an array.
SequenceRecord converts a record of [IO] to an [IO] of a record.
SequenceRecordSeq converts a record of [IO] to an [IO] of a record.
SequenceT1 converts 1 [IO[T]] into a [IO[T.Tuple1[T1]]].
SequenceT10 converts 10 [IO[T]] into a [IO[T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]].
SequenceT2 converts 2 [IO[T]] into a [IO[T.Tuple2[T1, T2]]].
SequenceT3 converts 3 [IO[T]] into a [IO[T.Tuple3[T1, T2, T3]]].
SequenceT4 converts 4 [IO[T]] into a [IO[T.Tuple4[T1, T2, T3, T4]]].
SequenceT5 converts 5 [IO[T]] into a [IO[T.Tuple5[T1, T2, T3, T4, T5]]].
SequenceT6 converts 6 [IO[T]] into a [IO[T.Tuple6[T1, T2, T3, T4, T5, T6]]].
SequenceT7 converts 7 [IO[T]] into a [IO[T.Tuple7[T1, T2, T3, T4, T5, T6, T7]]].
SequenceT8 converts 8 [IO[T]] into a [IO[T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]].
SequenceT9 converts 9 [IO[T]] into a [IO[T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]].
SequenceTuple1 converts a [T.Tuple1[IO[T]]] into a [IO[T.Tuple1[T1]]].
SequenceTuple10 converts a [T.Tuple10[IO[T]]] into a [IO[T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]].
SequenceTuple2 converts a [T.Tuple2[IO[T]]] into a [IO[T.Tuple2[T1, T2]]].
SequenceTuple3 converts a [T.Tuple3[IO[T]]] into a [IO[T.Tuple3[T1, T2, T3]]].
SequenceTuple4 converts a [T.Tuple4[IO[T]]] into a [IO[T.Tuple4[T1, T2, T3, T4]]].
SequenceTuple5 converts a [T.Tuple5[IO[T]]] into a [IO[T.Tuple5[T1, T2, T3, T4, T5]]].
SequenceTuple6 converts a [T.Tuple6[IO[T]]] into a [IO[T.Tuple6[T1, T2, T3, T4, T5, T6]]].
SequenceTuple7 converts a [T.Tuple7[IO[T]]] into a [IO[T.Tuple7[T1, T2, T3, T4, T5, T6, T7]]].
SequenceTuple8 converts a [T.Tuple8[IO[T]]] into a [IO[T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]].
SequenceTuple9 converts a [T.Tuple9[IO[T]]] into a [IO[T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]].
TraverseArray applies a function returning an [IO] to all elements in an array and the transforms this into an [IO] of that array.
TraverseArraySeq applies a function returning an [IO] to all elements in an array and the transforms this into an [IO] of that array.
TraverseArrayWithIndex applies a function returning an [IO] to all elements in an array and the transforms this into an [IO] of that array.
TraverseArrayWithIndexSeq applies a function returning an [IO] to all elements in an array and the transforms this into an [IO] of that array.
TraverseRecord applies a function returning an [IO] to all elements in a record and the transforms this into an [IO] of that record.
TraverseRecord applies a function returning an [IO] to all elements in a record and the transforms this into an [IO] of that record.
TraverseRecordWithIndexSeq applies a function returning an [IO] to all elements in a record and the transforms this into an [IO] of that record.
TraverseRecordWithIndex applies a function returning an [IO] to all elements in a record and the transforms this into an [IO] of that record.
TraverseTuple1 converts a [T.Tuple1[IO[T]]] into a [IO[T.Tuple1[T1]]].
TraverseTuple10 converts a [T.Tuple10[IO[T]]] into a [IO[T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]].
TraverseTuple2 converts a [T.Tuple2[IO[T]]] into a [IO[T.Tuple2[T1, T2]]].
TraverseTuple3 converts a [T.Tuple3[IO[T]]] into a [IO[T.Tuple3[T1, T2, T3]]].
TraverseTuple4 converts a [T.Tuple4[IO[T]]] into a [IO[T.Tuple4[T1, T2, T3, T4]]].
TraverseTuple5 converts a [T.Tuple5[IO[T]]] into a [IO[T.Tuple5[T1, T2, T3, T4, T5]]].
TraverseTuple6 converts a [T.Tuple6[IO[T]]] into a [IO[T.Tuple6[T1, T2, T3, T4, T5, T6]]].
TraverseTuple7 converts a [T.Tuple7[IO[T]]] into a [IO[T.Tuple7[T1, T2, T3, T4, T5, T6, T7]]].
TraverseTuple8 converts a [T.Tuple8[IO[T]]] into a [IO[T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]].
TraverseTuple9 converts a [T.Tuple9[IO[T]]] into a [IO[T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]].
WithDuration returns an operation that measures the [time.Duration].
WithLock executes the provided [IO] operation in the scope of a lock.
WithResource constructs a function that creates a resource, then operates on it and then releases the resource.
WithTime returns an operation that measures the start and end [time.Time] of the operation.
# Variables
Now returns the current timestamp.
# Type aliases
IO represents a synchronous computation that cannot fail refer to [https://andywhite.xyz/posts/2021-01-27-rte-foundations/#ioltagt] for more details.