Skip to content

Latest commit

 

History

History
214 lines (131 loc) · 4.5 KB

Monoid.md

File metadata and controls

214 lines (131 loc) · 4.5 KB
id title
Monoid
Module Monoid

← Index

Source

Monoid

Signature (type class) Source

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

Added in v1.0.0

monoidAll

Boolean monoid under conjunction

Signature (constant) Source

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

Added in v1.0.0

monoidAny

Boolean monoid under disjunction

Signature (constant) Source

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

Added in v1.0.0

monoidProduct

Number monoid under multiplication

Signature (constant) Source

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

Added in v1.0.0

monoidString

Signature (constant) Source

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

Added in v1.0.0

monoidSum

Number monoid under addition

Signature (constant) Source

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

Added in v1.0.0

monoidVoid

Signature (constant) Source

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

Added in v1.0.0

unsafeMonoidArray

Signature (constant) Source

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

Added in v1.0.0

fold

Signature (function) Source

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

Added in v1.0.0

getArrayMonoid

Monoid under array concatenation (Array<any>)

Signature (function) Source

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

Added in v1.0.0

getDictionaryMonoid

Gets Monoid instance for dictionaries given Semigroup instance for their values

Signature (function) Source

export function getDictionaryMonoid<A>(S: Semigroup<A>): Monoid< { ... }

Example

import { getDictionaryMonoid, fold } from 'fp-ts/lib/Monoid'
import { semigroupSum } from 'fp-ts/lib/Semigroup'

const M = getDictionaryMonoid(semigroupSum)
assert.deepStrictEqual(fold(M)([{ foo: 123 }, { foo: 456 }]), { foo: 579 })

Added in v1.4.0

getDualMonoid

Signature (function) Source

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

Added in v1.0.0

getEndomorphismMonoid

Signature (function) Source

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

Added in v1.0.0

getFunctionMonoid

Signature (function) Source

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

Added in v1.0.0

getJoinMonoid

Signature (function) Source

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

Added in v1.9.0

getMeetMonoid

Signature (function) Source

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

Added in v1.9.0

getProductMonoid

Signature (function) Source

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

Added in v1.0.0

getRecordMonoid

Signature (function) Source

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

Added in v1.0.0