package record

import "github.com/IBM/fp-go/internal/record"

Index

Functions

func MonadTraverse

func MonadTraverse[MA ~map[K]A, MB ~map[K]B, K comparable, A, B, HKTB, HKTAB, HKTRB any](
	fof func(MB) HKTRB,
	fmap func(func(MB) func(B) MB) func(HKTRB) HKTAB,
	fap func(HKTB) func(HKTAB) HKTRB,

	r MA, f func(A) HKTB) HKTRB

func Reduce

func Reduce[M ~map[K]V, K comparable, V, R any](r M, f func(R, V) R, initial R) R

func ReduceRef

func ReduceRef[M ~map[K]V, K comparable, V, R any](r M, f func(R, *V) R, initial R) R

func ReduceRefWithIndex

func ReduceRefWithIndex[M ~map[K]V, K comparable, V, R any](r M, f func(K, R, *V) R, initial R) R

func ReduceWithIndex

func ReduceWithIndex[M ~map[K]V, K comparable, V, R any](r M, f func(K, R, V) R, initial R) R

func Sequence

func Sequence[MA ~map[K]A, MKTA ~map[K]HKTA, K comparable, A, HKTA, HKTAA, HKTRA any](
	fof func(MA) HKTRA,
	fmap func(func(MA) func(A) MA) func(HKTRA) HKTAA,
	fap func(HKTA) func(HKTAA) HKTRA,

	ma MKTA) HKTRA

HKTA = HKT[A] HKTAA = HKT[func(A)MA] HKTRA = HKT[MA]

func Traverse

func Traverse[MA ~map[K]A, MB ~map[K]B, K comparable, A, B, HKTB, HKTAB, HKTRB any](
	fof func(MB) HKTRB,
	fmap func(func(MB) func(B) MB) func(HKTRB) HKTAB,
	fap func(HKTB) func(HKTAB) HKTRB,

	f func(A) HKTB) func(MA) HKTRB

HKTA = HKT<A> HKTB = HKT<B> HKTAB = HKT<func(A)B> HKTRB = HKT<MB>

func TraverseWithIndex

func TraverseWithIndex[MA ~map[K]A, MB ~map[K]B, K comparable, A, B, HKTB, HKTAB, HKTRB any](
	fof func(MB) HKTRB,
	fmap func(func(MB) func(B) MB) func(HKTRB) HKTAB,
	fap func(HKTB) func(HKTAB) HKTRB,

	f func(K, A) HKTB) func(MA) HKTRB

Source Files

record.go traverse.go

Version
v1.0.151 (latest)
Published
Nov 23, 2024
Platform
linux/amd64
Imports
1 packages
Last checked
4 months ago

Tools for package owners.