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:
21
semigroup/array.go
Normal file
21
semigroup/array.go
Normal file
@ -0,0 +1,21 @@
|
||||
package semigroup
|
||||
|
||||
import (
|
||||
M "github.com/ibm/fp-go/magma"
|
||||
)
|
||||
|
||||
func GenericMonadConcatAll[GA ~[]A, A any](s Semigroup[A]) func(GA, A) A {
|
||||
return M.GenericMonadConcatAll[GA](M.MakeMagma(s.Concat))
|
||||
}
|
||||
|
||||
func GenericConcatAll[GA ~[]A, A any](s Semigroup[A]) func(A) func(GA) A {
|
||||
return M.GenericConcatAll[GA](M.MakeMagma(s.Concat))
|
||||
}
|
||||
|
||||
func MonadConcatAll[A any](s Semigroup[A]) func([]A, A) A {
|
||||
return GenericMonadConcatAll[[]A](s)
|
||||
}
|
||||
|
||||
func ConcatAll[A any](s Semigroup[A]) func(A) func([]A) A {
|
||||
return GenericConcatAll[[]A](s)
|
||||
}
|
Reference in New Issue
Block a user