package monoid
import "github.com/IBM/fp-go/monoid"
Index ¶
- func ConcatAll[A any](m Monoid[A]) func([]A) A
- func Fold[A any](m Monoid[A]) func([]A) A
- func GenericConcatAll[GA ~[]A, A any](m Monoid[A]) func(GA) A
- func ToSemigroup[A any](m Monoid[A]) S.Semigroup[A]
- type Monoid
- func AltMonoid[HKTA any, LAZYHKTA ~func() HKTA]( fzero LAZYHKTA, falt func(HKTA, LAZYHKTA) HKTA, ) Monoid[HKTA]
- func AlternativeMonoid[A, HKTA, HKTFA any, LAZYHKTA ~func() HKTA]( fof func(A) HKTA, fmap func(HKTA, func(A) func(A) A) HKTFA, fap func(HKTFA, HKTA) HKTA, falt func(HKTA, LAZYHKTA) HKTA, m Monoid[A], ) Monoid[HKTA]
- func ApplicativeMonoid[A, HKTA, HKTFA any]( fof func(A) HKTA, fmap func(HKTA, func(A) func(A) A) HKTFA, fap func(HKTFA, HKTA) HKTA, m Monoid[A], ) Monoid[HKTA]
- func FunctionMonoid[A, B any](m Monoid[B]) Monoid[func(A) B]
- func MakeMonoid[A any](c func(A, A) A, e A) Monoid[A]
- func Reverse[A any](m Monoid[A]) Monoid[A]
Functions ¶
func ConcatAll ¶
ConcatAll concatenates all values using the monoid and the default empty value
func Fold ¶
Fold concatenates all values using the monoid and the default empty value
func GenericConcatAll ¶
func ToSemigroup ¶
Types ¶
type Monoid ¶
func AltMonoid ¶
func AltMonoid[HKTA any, LAZYHKTA ~func() HKTA]( fzero LAZYHKTA, falt func(HKTA, LAZYHKTA) HKTA, ) Monoid[HKTA]
func AlternativeMonoid ¶
func AlternativeMonoid[A, HKTA, HKTFA any, LAZYHKTA ~func() HKTA]( fof func(A) HKTA, fmap func(HKTA, func(A) func(A) A) HKTFA, fap func(HKTFA, HKTA) HKTA, falt func(HKTA, LAZYHKTA) HKTA, m Monoid[A], ) Monoid[HKTA]
func ApplicativeMonoid ¶
func ApplicativeMonoid[A, HKTA, HKTFA any]( fof func(A) HKTA, fmap func(HKTA, func(A) func(A) A) HKTFA, fap func(HKTFA, HKTA) HKTA, m Monoid[A], ) Monoid[HKTA]
func FunctionMonoid ¶
FunctionMonoid forms a monoid as long as you can provide a monoid for the codomain.
func MakeMonoid ¶
MakeMonoid creates a monoid given a concat function and an empty element
func Reverse ¶
Reverse returns the dual of a `Monoid`, obtained by swapping the arguments of `Concat`.
Source Files ¶
alt.go apply.go array.go function.go monoid.go
Directories ¶
Path | Synopsis |
---|---|
monoid/testing |
- Version
- v1.0.151 (latest)
- Published
- Nov 23, 2024
- Platform
- linux/amd64
- Imports
- 2 packages
- Last checked
- 4 months ago –
Tools for package owners.