readerio

package
v1.0.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 21, 2023 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Ap

func Ap[B, E, A any](fa ReaderIO[E, A]) func(ReaderIO[E, func(A) B]) ReaderIO[E, B]

func ApFirst

func ApFirst[R, A, B any](second ReaderIO[R, B]) func(ReaderIO[R, A]) ReaderIO[R, A]

ApFirst combines two effectful actions, keeping only the result of the first.

func ApSecond

func ApSecond[R, A, B any](second ReaderIO[R, B]) func(ReaderIO[R, A]) ReaderIO[R, B]

ApSecond combines two effectful actions, keeping only the result of the second.

func Chain

func Chain[E, A, B any](f func(A) ReaderIO[E, B]) func(ReaderIO[E, A]) ReaderIO[E, B]

func ChainIOK

func ChainIOK[E, A, B any](f func(A) IO.IO[B]) func(ReaderIO[E, A]) ReaderIO[E, B]

func Eq

func Eq[R, A any](e EQ.Eq[A]) func(r R) EQ.Eq[ReaderIO[R, A]]

Eq implements the equals predicate for values contained in the IO monad

func From0

func From0[R, A any](f func(R) IO.IO[A]) func() ReaderIO[R, A]

func From1

func From1[R, T1, A any](f func(R, T1) IO.IO[A]) func(T1) ReaderIO[R, A]

func From2

func From2[R, T1, T2, A any](f func(R, T1, T2) IO.IO[A]) func(T1, T2) ReaderIO[R, A]

func From3

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 Map

func Map[E, A, B any](f func(A) B) func(ReaderIO[E, A]) ReaderIO[E, B]

func TraverseArray

func TraverseArray[R, A, B any](f func(A) ReaderIO[R, B]) func([]A) ReaderIO[R, []B]

TraverseArray transforms an array

Types

type ReaderIO

type ReaderIO[E, A any] R.Reader[E, IO.IO[A]]

func Ask

func Ask[E any]() ReaderIO[E, E]

func Asks

func Asks[E, A any](r R.Reader[E, A]) ReaderIO[E, A]

func Defer

func Defer[E, A any](gen func() ReaderIO[E, A]) ReaderIO[E, A]

Defer creates an IO by creating a brand new IO via a generator function, each time

func FromIO

func FromIO[E, A any](t IO.IO[A]) ReaderIO[E, A]

func MonadAp

func MonadAp[B, E, A any](fab ReaderIO[E, func(A) B], fa ReaderIO[E, A]) ReaderIO[E, B]

func MonadApFirst

func MonadApFirst[R, A, B any](first ReaderIO[R, A], second ReaderIO[R, B]) ReaderIO[R, A]

MonadApFirst combines two effectful actions, keeping only the result of the first.

func MonadApSecond

func MonadApSecond[R, A, B any](first ReaderIO[R, A], second ReaderIO[R, B]) ReaderIO[R, B]

MonadApSecond combines two effectful actions, keeping only the result of the second.

func MonadChain

func MonadChain[E, A, B any](ma ReaderIO[E, A], f func(A) ReaderIO[E, B]) ReaderIO[E, B]

func MonadChainIOK

func MonadChainIOK[E, A, B any](ma ReaderIO[E, A], f func(A) IO.IO[B]) ReaderIO[E, B]

func MonadMap

func MonadMap[E, A, B any](fa ReaderIO[E, A], f func(A) B) ReaderIO[E, B]

func Of

func Of[E, A any](a A) ReaderIO[E, A]

func SequenceArray

func SequenceArray[R, A any](ma []ReaderIO[R, A]) ReaderIO[R, []A]

SequenceArray converts a homogeneous sequence of Readers into a Reader of sequence

func SequenceT1

func SequenceT1[R, A any](a ReaderIO[R, A]) ReaderIO[R, T.Tuple1[A]]

func SequenceT2

func SequenceT2[R, A, B any](a ReaderIO[R, A], b ReaderIO[R, B]) ReaderIO[R, T.Tuple2[A, B]]

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]]

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL