iter

package
v2.0.3 Latest Latest
Warning

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

Go to latest
Published: Dec 20, 2025 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Append

func Append[GA ~func(yield func(A) bool), A any](tail A) func(GA) GA

func Concat

func Concat[GT ~func(yield func(T) bool), T any](left, right GT) GT

Concat concatenates two sequences, yielding all elements from left followed by all elements from right.

func Empty

func Empty[GA ~func(yield func(A) bool), A any]() GA

func MapToArray

func MapToArray[GA ~func(yield func(A) bool), GB ~[]B, A, B any](f func(A) B) func(GA) GB

func MapToArrayWithIndex

func MapToArrayWithIndex[GA ~func(yield func(A) bool), GB ~[]B, A, B any](f func(int, A) B) func(GA) GB

func MonadAppend

func MonadAppend[GA ~func(yield func(A) bool), A any](f GA, tail A) GA

func MonadMapToArray

func MonadMapToArray[GA ~func(yield func(A) bool), GB ~[]B, A, B any](fa GA, f func(A) B) GB

func MonadMapToArrayWithIndex

func MonadMapToArrayWithIndex[GA ~func(yield func(A) bool), GB ~[]B, A, B any](fa GA, f func(int, A) B) GB

func MonadReduce

func MonadReduce[GA ~func(yield func(A) bool), A, B any](fa GA, f func(B, A) B, initial B) B

func MonadReduceWithIndex

func MonadReduceWithIndex[GA ~func(yield func(A) bool), A, B any](fa GA, f func(int, B, A) B, initial B) B

func MonadSequence

func MonadSequence[GA ~func(yield func(HKTA) bool), HKTA, HKTRA any](
	fof func(HKTA) HKTRA,
	m M.Monoid[HKTRA],

	ta GA) HKTRA

func MonadTraverse

func MonadTraverse[GA ~func(yield func(A) bool), GB ~func(yield func(B) bool), A, B, HKT_B, HKT_GB_GB, HKT_GB any](
	fmap_b func(HKT_B, func(B) GB) HKT_GB,

	fof_gb func(GB) HKT_GB,
	fmap_gb func(HKT_GB, func(GB) func(GB) GB) HKT_GB_GB,
	fap_gb func(HKT_GB_GB, HKT_GB) HKT_GB,

	ta GA,
	f func(A) HKT_B) HKT_GB

* 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 ~func(yield func(A) bool), 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 ~func(yield func(A) bool), 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 ~func(yield func(A) bool), A, HKTB, HKTRB any](
	fof func(HKTB) HKTRB,
	m M.Monoid[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 Monoid

func Monoid[GA ~func(yield func(A) bool), A any]() M.Monoid[GA]

func Of

func Of[GA ~func(yield func(A) bool), A any](a A) GA

func Prepend

func Prepend[GA ~func(yield func(A) bool), A any](head A) func(GA) GA

func Sequence

func Sequence[GA ~func(yield func(HKTA) bool), HKTA, HKTRA any](
	fof func(HKTA) HKTRA,
	m M.Monoid[HKTRA]) func(GA) HKTRA

func ToArray

func ToArray[GA ~func(yield func(A) bool), GB ~[]A, A any](fa GA) GB

func Traverse

func Traverse[GA ~func(yield func(A) bool), GB ~func(yield func(B) bool), A, B, HKT_B, HKT_GB_GB, HKT_GB any](
	fmap_b func(func(B) GB) func(HKT_B) HKT_GB,

	fof_gb func(GB) HKT_GB,
	fmap_gb func(func(GB) func(GB) GB) func(HKT_GB) HKT_GB_GB,
	fap_gb func(HKT_GB_GB, HKT_GB) HKT_GB,

	f func(A) HKT_B) func(GA) HKT_GB

func TraverseReduce

func TraverseReduce[GA ~func(yield func(A) bool), 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 ~func(yield func(A) bool), 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 ~func(yield func(A) bool), A, HKTB, HKTRB any](
	fof func(HKTB) HKTRB,
	m M.Monoid[HKTRB],

	f func(int, A) HKTB) func(GA) HKTRB

Types

type Seq

type Seq[A any] = I.Seq[A]

Jump to

Keyboard shortcuts

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