Innovenergy_trunk/frontend/node_modules/fp-ts/lib/JoinSemilattice.d.ts

20 lines
494 B
TypeScript
Raw Normal View History

/**
* A join-semilattice (or upper semilattice) is a semilattice whose operation is called `join`, and which can be thought
* of as a least upper bound.
*
* A `JoinSemilattice` must satisfy the following laws:
*
* - Associativity: `a (b c) <-> (a b) c`
* - Commutativity: `a b <-> b a`
* - Idempotency: `a a <-> a`
*
* @since 2.0.0
*/
/**
* @category model
* @since 2.0.0
*/
export interface JoinSemilattice<A> {
readonly join: (x: A, y: A) => A
}