package mugen

  1. Overview
  2. Docs

Module ShiftWithJoin.ProductSource

Binary products.

Parameters

module X : Semilattice
module Y : Semilattice

Signature

include Semilattice
include Shift.S
include StructuredType.PartiallyOrderedType
include StructuredType.EqualityType
Sourcetype t

The type.

Sourceval equal : t -> t -> bool

equal x y checks whether x and y are equivalent.

Sourceval dump : Format.formatter -> t -> unit

Ugly printer.

Sourceval lt : t -> t -> bool

lt x y checks if x is strictly less than y. Note that trichotomy fails for general partial orders.

Sourceval leq : t -> t -> bool

leq x y checks if x is less than or equal to y. Note that trichotomy fails for general partial orders.

Sourceval id : t

id is the unit.

Sourceval is_id : t -> bool

is_id s checks whether s is the unit. It is equivalent to equal id s, but potentially faster.

Sourceval compose : t -> t -> t

compose s1 s2 composes the operators s1 and s2. Note that Foo^s1^s2 in McBride's notation is understood as compose (compose ... s2) s1 with the reversed order.

Sourceval join : t -> t -> t

join x y is the maximum of x and y.

Sourceval pair : X.t -> Y.t -> t

Forming a pair

Sourceval fst : t -> X.t

First projection

Sourceval snd : t -> Y.t

Second projection

Sourceval inl : X.t -> t

inl x is equivalent to pair x Y.id

Sourceval inr : Y.t -> t

inr y is equivalent to pair X.id y

OCaml

Innovation. Community. Security.