Table of contents


Monoid (interface)

Signature

export interface Monoid<A> extends Semigroup<A> {
  readonly empty: A
}

Added in v1.0.0

monoidAll (constant)

Boolean monoid under conjunction

Signature

export const monoidAll: Monoid<boolean> = ...

Added in v1.0.0

monoidAny (constant)

Boolean monoid under disjunction

Signature

export const monoidAny: Monoid<boolean> = ...

Added in v1.0.0

monoidProduct (constant)

Number monoid under multiplication

Signature

export const monoidProduct: Monoid<number> = ...

Added in v1.0.0

monoidString (constant)

Signature

export const monoidString: Monoid<string> = ...

Added in v1.0.0

monoidSum (constant)

Number monoid under addition

Signature

export const monoidSum: Monoid<number> = ...

Added in v1.0.0

monoidVoid (constant)

Signature

export const monoidVoid: Monoid<void> = ...

Added in v1.0.0

unsafeMonoidArray (constant)

Signature

export const unsafeMonoidArray: Monoid<Array<any>> = ...

Added in v1.0.0

fold (function)

Signature

export const fold = <A>(M: Monoid<A>): ((as: Array<A>) => A) => ...

Added in v1.0.0

getArrayMonoid (function)

Monoid under array concatenation

Signature

export const getArrayMonoid = <A = never>(): Monoid<Array<A>> => ...

Added in v1.0.0

getDictionaryMonoid (function)

Use Record’s getMonoid

Signature

export function getDictionaryMonoid<K extends string, A>(S: Semigroup<A>): Monoid<Record<K, A>>
export function getDictionaryMonoid<A>(S: Semigroup<A>): Monoid<{ [key: string]: A }> { ... }

Added in v1.4.0

getDualMonoid (function)

Signature

export const getDualMonoid = <A>(M: Monoid<A>): Monoid<A> => ...

Added in v1.0.0

getEndomorphismMonoid (function)

Signature

export const getEndomorphismMonoid = <A = never>(): Monoid<Endomorphism<A>> => ...

Added in v1.0.0

getFunctionMonoid (function)

Signature

export const getFunctionMonoid = <M>(M: Monoid<M>) => <A = never>(): Monoid<(a: A) => M> => ...

Added in v1.0.0

getJoinMonoid (function)

Signature

export const getJoinMonoid = <A>(B: Bounded<A>): Monoid<A> => ...

Added in v1.9.0

getMeetMonoid (function)

Signature

export const getMeetMonoid = <A>(B: Bounded<A>): Monoid<A> => ...

Added in v1.9.0

getProductMonoid (function)

Use getTupleMonoid instead

Signature

export const getProductMonoid = <A, B>(MA: Monoid<A>, MB: Monoid<B>): Monoid<[A, B]> => ...

Added in v1.0.0

getRecordMonoid (function)

Use getStructMonoid instead

Signature

export const getRecordMonoid = <O extends { [key: string]: any }>(
  monoids: { [K in keyof O]: Monoid<O[K]> }
): Monoid<O> => ...

Added in v1.0.0

getStructMonoid (function)

Signature

export const getStructMonoid = <O extends { [key: string]: any }>(
  monoids: { [K in keyof O]: Monoid<O[K]> }
): Monoid<O> => ...

Added in v1.14.0

getTupleMonoid (function)

Signature

export const getTupleMonoid = <A, B>(MA: Monoid<A>, MB: Monoid<B>): Monoid<[A, B]> => ...

Added in v1.0.0