package array
import "github.com/IBM/fp-go/internal/array"
Index ¶
- func Append[GA ~[]A, A any](as GA, a A) GA
- 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 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
- 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 MonadTraverseReduceWithIndex[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(int, A) HKTB, reduce func(GB, B) GB, initial GB, ) 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, fap func(HKTB) func(HKTAB) HKTRB, ta GA, f func(int, A) HKTB) HKTRB
- 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 Slice[GA ~[]A, A any](low, high 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, fap func(HKTB) func(HKTAB) HKTRB, f func(A) HKTB) 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, fap func(HKTB) func(HKTAB) HKTRB, transform func(A) HKTB, reduce func(GB, B) GB, initial GB, ) 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, fap func(HKTB) func(HKTAB) HKTRB, transform func(int, A) HKTB, reduce func(GB, B) GB, initial GB, ) 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, fap func(HKTB) func(HKTAB) HKTRB, f func(int, A) HKTB) func(GA) HKTRB
- func UpsertAt[GA ~[]A, A any](a A) func(GA) GA
Functions ¶
func Append ¶
func Append[GA ~[]A, A any](as GA, a A) GA
func ConstNil ¶
func ConstNil[GA ~[]A, A any]() GA
func Empty ¶
func Empty[GA ~[]A, A any]() GA
func IsEmpty ¶
func IsNil ¶
func IsNonNil ¶
func Map ¶
func Map[GA ~[]A, GB ~[]B, A, B any](f func(a A) B) func(GA) GB
func MonadMap ¶
func MonadMap[GA ~[]A, GB ~[]B, A, B any](as GA, f func(a A) B) GB
func MonadMapWithIndex ¶
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 MonadTraverseReduceWithIndex ¶
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, fap func(HKTB) func(HKTAB) HKTRB, ta GA, transform func(int, 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 Push ¶
func Push[GA ~[]A, A any](as GA, a A) GA
func Reduce ¶
func Reduce[GA ~[]A, A, B any](fa GA, f func(B, A) B, initial B) B
func ReduceRight ¶
func ReduceRight[GA ~[]A, A, B any](fa GA, f func(A, B) B, initial B) B
func ReduceRightWithIndex ¶
func ReduceWithIndex ¶
func Slice ¶
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 TraverseReduceWithIndex[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(int, A) HKTB, reduce func(GB, B) GB, initial GB, ) func(GA) HKTRB
func TraverseWithIndex ¶
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, fap func(HKTB) func(HKTAB) HKTRB, f func(int, A) HKTB) func(GA) HKTRB
func UpsertAt ¶
func UpsertAt[GA ~[]A, A any](a A) func(GA) GA
Source Files ¶
array.go prepend.go traverse.go
- Version
- v1.0.151 (latest)
- Published
- Nov 23, 2024
- Platform
- linux/amd64
- Imports
- 1 packages
- Last checked
- 5 months ago –
Tools for package owners.