package semigroup
import "github.com/IBM/fp-go/semigroup"
Index ¶
- func ConcatAll[A any](s Semigroup[A]) func(A) func([]A) A
- func GenericConcatAll[GA ~[]A, A any](s Semigroup[A]) func(A) func(GA) A
- func GenericMonadConcatAll[GA ~[]A, A any](s Semigroup[A]) func(GA, A) A
- func MonadConcatAll[A any](s Semigroup[A]) func([]A, A) A
- func ToMagma[A any](s Semigroup[A]) M.Magma[A]
- type Semigroup
- func AltSemigroup[HKTA any, LAZYHKTA ~func() HKTA]( falt func(HKTA, LAZYHKTA) HKTA, ) Semigroup[HKTA]
- func ApplySemigroup[A, HKTA, HKTFA any]( fmap func(HKTA, func(A) func(A) A) HKTFA, fap func(HKTFA, HKTA) HKTA, s Semigroup[A], ) Semigroup[HKTA]
- func First[A any]() Semigroup[A]
- func FunctionSemigroup[A, B any](s Semigroup[B]) Semigroup[func(A) B]
- func Last[A any]() Semigroup[A]
- func MakeSemigroup[A any](c func(A, A) A) Semigroup[A]
- func Reverse[A any](m Semigroup[A]) Semigroup[A]
Functions ¶
func ConcatAll ¶
func GenericConcatAll ¶
func GenericMonadConcatAll ¶
func MonadConcatAll ¶
func ToMagma ¶
ToMagma converts a semigroup to a magma
Types ¶
type Semigroup ¶
func AltSemigroup ¶
func AltSemigroup[HKTA any, LAZYHKTA ~func() HKTA]( falt func(HKTA, LAZYHKTA) HKTA, ) Semigroup[HKTA]
func ApplySemigroup ¶
func ApplySemigroup[A, HKTA, HKTFA any]( fmap func(HKTA, func(A) func(A) A) HKTFA, fap func(HKTFA, HKTA) HKTA, s Semigroup[A], ) Semigroup[HKTA]
* HKTA = HKT<A> HKTFA = HKT<func(A)A>
func First ¶
First always returns the first argument.
func FunctionSemigroup ¶
FunctionSemigroup forms a semigroup as long as you can provide a semigroup for the codomain.
func Last ¶
Last always returns the last argument.
func MakeSemigroup ¶
func Reverse ¶
Reverse returns The dual of a `Semigroup`, obtained by swapping the arguments of `concat`.
Source Files ¶
alt.go apply.go array.go semigroup.go
Directories ¶
Path | Synopsis |
---|---|
semigroup/ord |
- Version
- v1.0.151 (latest)
- Published
- Nov 23, 2024
- Platform
- linux/amd64
- Imports
- 2 packages
- Last checked
- 4 months ago –
Tools for package owners.