Documentation
¶
Index ¶
- func Append[GA ~[]A, A any](as GA, a A) GA
- func Concat[GT ~[]T, T any](left, right GT) GT
- func ConstNil[GA ~[]A, A any]() GA
- func Empty[GA ~[]A, A any]() GA
- func IsEmpty[GA ~[]A, A any](as GA) bool
- func IsNil[GA ~[]A, A any](as GA) bool
- func IsNonNil[GA ~[]A, A any](as GA) bool
- func Map[GA ~[]A, GB ~[]B, A, B any](f func(a A) B) func(GA) GB
- func MonadMap[GA ~[]A, GB ~[]B, A, B any](as GA, f func(a A) B) GB
- func MonadMapWithIndex[GA ~[]A, GB ~[]B, A, B any](as GA, f func(idx int, a A) B) GB
- func MonadSequence[GA ~[]HKTA, HKTA, HKTRA any](fof func(HKTA) HKTRA, empty HKTRA, concat func(HKTRA, HKTRA) HKTRA, ta GA) HKTRA
- func MonadSequenceSegment[HKTB, HKTRB any](fof func(HKTB) HKTRB, empty HKTRB, concat func(HKTRB, HKTRB) HKTRB, fbs []HKTB, ...) HKTRB
- func MonadTraverse[GA ~[]A, GB ~[]B, A, B, HKTB, HKTAB, HKTRB any](fof func(GB) HKTRB, fmap func(func(GB) func(B) GB) func(HKTRB) HKTAB, ...) HKTRB
- func MonadTraverseReduce[GA ~[]A, GB, A, B, HKTB, HKTAB, HKTRB any](fof func(GB) HKTRB, fmap func(func(GB) func(B) GB) func(HKTRB) HKTAB, ...) HKTRB
- func MonadTraverseReduceWithIndex[GA ~[]A, GB, A, B, HKTB, HKTAB, HKTRB any](fof func(GB) HKTRB, fmap func(func(GB) func(B) GB) func(HKTRB) HKTAB, ...) HKTRB
- func MonadTraverseWithIndex[GA ~[]A, GB ~[]B, A, B, HKTB, HKTAB, HKTRB any](fof func(GB) HKTRB, fmap func(func(GB) func(B) GB) func(HKTRB) HKTAB, ...) HKTRB
- func Of[GA ~[]A, A any](a A) GA
- func Prepend[ENDO ~func(AS) AS, AS ~[]A, A any](head A) ENDO
- func Push[GA ~[]A, A any](as GA, a A) GA
- func Reduce[GA ~[]A, A, B any](fa GA, f func(B, A) B, initial B) B
- func ReduceRight[GA ~[]A, A, B any](fa GA, f func(A, B) B, initial B) B
- func ReduceRightWithIndex[GA ~[]A, A, B any](fa GA, f func(int, A, B) B, initial B) B
- func ReduceWithIndex[GA ~[]A, A, B any](fa GA, f func(int, B, A) B, initial B) B
- func Reverse[GT ~[]T, T any](as GT) GT
- func Sequence[GA ~[]HKTA, HKTA, HKTRA any](fof func(HKTA) HKTRA, empty HKTRA, concat func(HKTRA, HKTRA) HKTRA) func(GA) HKTRA
- func SequenceSegment[HKTB, HKTRB any](fof func(HKTB) HKTRB, empty HKTRB, concat func(HKTRB, HKTRB) HKTRB) func([]HKTB) HKTRB
- func Slice[GA ~[]A, A any](low, high int) func(as GA) GA
- func SliceRight[GA ~[]A, A any](start int) func(as GA) GA
- func Traverse[GA ~[]A, GB ~[]B, A, B, HKTB, HKTAB, HKTRB any](fof func(GB) HKTRB, fmap func(func(GB) func(B) GB) func(HKTRB) HKTAB, ...) func(GA) HKTRB
- func TraverseReduce[GA ~[]A, GB, A, B, HKTB, HKTAB, HKTRB any](fof func(GB) HKTRB, fmap func(func(GB) func(B) GB) func(HKTRB) HKTAB, ...) func(GA) HKTRB
- func TraverseReduceWithIndex[GA ~[]A, GB, A, B, HKTB, HKTAB, HKTRB any](fof func(GB) HKTRB, fmap func(func(GB) func(B) GB) func(HKTRB) HKTAB, ...) func(GA) HKTRB
- func TraverseWithIndex[GA ~[]A, GB ~[]B, A, B, HKTB, HKTAB, HKTRB any](fof func(GB) HKTRB, fmap func(func(GB) func(B) GB) func(HKTRB) HKTAB, ...) func(GA) HKTRB
- func UpsertAt[GA ~[]A, A any](a A) func(GA) GA
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func MonadMapWithIndex ¶
func MonadSequence ¶
func MonadSequence[GA ~[]HKTA, HKTA, HKTRA any]( fof func(HKTA) HKTRA, empty HKTRA, concat func(HKTRA, HKTRA) HKTRA, ta GA) HKTRA
* We need to pass the members of the applicative explicitly, because golang does neither support higher kinded types nor template methods on structs or interfaces
HKTRB = HKT<GB> HKTB = HKT<B> HKTAB = HKT<func(A)B>
func MonadSequenceSegment ¶
func MonadTraverse ¶
func MonadTraverse[GA ~[]A, GB ~[]B, A, B, HKTB, HKTAB, HKTRB any]( fof func(GB) HKTRB, fmap func(func(GB) func(B) GB) func(HKTRB) HKTAB, fap func(HKTB) func(HKTAB) HKTRB, ta GA, f func(A) HKTB) HKTRB
* We need to pass the members of the applicative explicitly, because golang does neither support higher kinded types nor template methods on structs or interfaces
HKTRB = HKT<GB> HKTB = HKT<B> HKTAB = HKT<func(A)B>
func MonadTraverseReduce ¶
func MonadTraverseReduce[GA ~[]A, GB, A, B, HKTB, HKTAB, HKTRB any]( fof func(GB) HKTRB, fmap func(func(GB) func(B) GB) func(HKTRB) HKTAB, fap func(HKTB) func(HKTAB) HKTRB, ta GA, transform func(A) HKTB, reduce func(GB, B) GB, initial GB, ) HKTRB
func MonadTraverseWithIndex ¶
func MonadTraverseWithIndex[GA ~[]A, GB ~[]B, A, B, HKTB, HKTAB, HKTRB any]( fof func(GB) HKTRB, fmap func(func(GB) func(B) GB) func(HKTRB) HKTAB, fap func(HKTB) func(HKTAB) HKTRB, ta GA, f func(int, A) HKTB) HKTRB
* We need to pass the members of the applicative explicitly, because golang does neither support higher kinded types nor template methods on structs or interfaces
HKTRB = HKT<GB> HKTB = HKT<B> HKTAB = HKT<func(A)B>
func Prepend ¶
func Prepend[ENDO ~func(AS) AS, AS ~[]A, A any](head A) ENDO
Prepend prepends a single value to an array
func ReduceRight ¶
func ReduceRight[GA ~[]A, A, B any](fa GA, f func(A, B) B, initial B) B
func ReduceRightWithIndex ¶
func ReduceWithIndex ¶
func Sequence ¶
func Sequence[GA ~[]HKTA, HKTA, HKTRA any]( fof func(HKTA) HKTRA, empty HKTRA, concat func(HKTRA, HKTRA) HKTRA, ) func(GA) HKTRA
func SequenceSegment ¶
func SequenceSegment[HKTB, HKTRB any]( fof func(HKTB) HKTRB, empty HKTRB, concat func(HKTRB, HKTRB) HKTRB, ) func([]HKTB) HKTRB
func SliceRight ¶
func Traverse ¶
func Traverse[GA ~[]A, GB ~[]B, A, B, HKTB, HKTAB, HKTRB any]( fof func(GB) HKTRB, fmap func(func(GB) func(B) GB) func(HKTRB) HKTAB, fap func(HKTB) func(HKTAB) HKTRB, f func(A) HKTB) func(GA) HKTRB
func TraverseReduce ¶
func TraverseReduce[GA ~[]A, GB, A, B, HKTB, HKTAB, HKTRB any]( fof func(GB) HKTRB, fmap func(func(GB) func(B) GB) func(HKTRB) HKTAB, fap func(HKTB) func(HKTAB) HKTRB, transform func(A) HKTB, reduce func(GB, B) GB, initial GB, ) func(GA) HKTRB
func TraverseReduceWithIndex ¶
func TraverseWithIndex ¶
Types ¶
This section is empty.