1
0
mirror of https://github.com/IBM/fp-go.git synced 2025-06-23 00:27:49 +02:00

initial checkin

Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com>
This commit is contained in:
Dr. Carsten Leue
2023-07-07 22:31:06 +02:00
parent 71c47ca560
commit c07df5c771
128 changed files with 5827 additions and 2 deletions

19
monoid/array.go Normal file
View File

@ -0,0 +1,19 @@
package monoid
import (
S "github.com/ibm/fp-go/semigroup"
)
func GenericConcatAll[GA ~[]A, A any](m Monoid[A]) func(GA) A {
return S.GenericConcatAll[GA](S.MakeSemigroup(m.Concat))(m.Empty())
}
// ConcatAll concatenates all values using the monoid and the default empty value
func ConcatAll[A any](m Monoid[A]) func([]A) A {
return GenericConcatAll[[]A](m)
}
// Fold concatenates all values using the monoid and the default empty value
func Fold[A any](m Monoid[A]) func([]A) A {
return GenericConcatAll[[]A](m)
}