MODULE Monoid
type class
interface Monoid<A> extends Semigroup<A> {
empty: A
}
instance
getArrayMonoid = <A = never>():
Monoid under array concatenation (Array<any>
)
instance
Monoid<boolean>
Boolean monoid under conjunction
instance
Monoid<boolean>
Boolean monoid under disjunction
instance
Monoid<number>
Number monoid under multiplication
instance
Monoid<string>
instance
Monoid<number>
Number monoid under addition
instance
Monoid<void>
instance
Monoid<Array<any>>
function
<A>(M: Monoid<A>): ((as: Array<A>) => A)
function
<A>(M: Monoid<A>): Monoid<A>
function
<A = never>(): Monoid<Endomorphism<A>>
function
<M>(M: Monoid<M>) => <A = never>(): Monoid<(a: A) => M>
function
<A, B>(MA: Monoid<A>, MB: Monoid<B>): Monoid<[A, B]>
function
<O>(Ms: { [K in keyof O]: Monoid<O[K]> }): Monoid<O>