lub-0.1.5: information operators: least upper bound (lub) and greatest lower bound (glb)

Data.Repr

Description

Compute least upper bounds (lub / join) of two values

This version uses associated types for HasRepr

Synopsis

class HasRepr t r | t -> r whereSource

A data type representation, in terms of standard data types. Requires that unrepr . repr == id.

unrepr . repr == id

unrepr

repr

id

Methods

reprSource

Arguments

to representation

unreprSource

from representation

Instances

onRepr :: (HasRepr a ra, HasRepr b rb) => (ra -> rb) -> a -> bSource

Apply a binary function on a repr

onRepr2 :: (HasRepr a ra, HasRepr b rb, HasRepr c rc) => (ra -> rb -> rc) -> a -> b -> cSource