Module

Type.Data.Ordering

Package
purescript-typelevel-prelude
Repository
purescript/purescript-typelevel-prelude

#Ordering Source

data Ordering :: Type

#OProxy Source

data OProxy (ordering :: Ordering)

Value proxy for Ordering types

Constructors

#IsOrdering Source

class IsOrdering (ordering :: Ordering)  where

Class for reflecting a type level Ordering at the value level

Members

Instances

#reifyOrdering Source

reifyOrdering :: forall r. Ordering -> (forall o. IsOrdering o => OProxy o -> r) -> r

Use a value level Ordering as a type-level Ordering

#AppendOrdering Source

class AppendOrdering (lhs :: Ordering) (rhs :: Ordering) (output :: Ordering) | lhs -> rhs output

Append two Ordering types together Reflective of the semigroup for value level Ordering

Instances

#appendOrdering Source

appendOrdering :: forall o r l. AppendOrdering l r o => OProxy l -> OProxy r -> OProxy o

#InvertOrdering Source

class InvertOrdering (ordering :: Ordering) (result :: Ordering) | ordering -> result

Invert an Ordering

Instances

#invertOrdering Source

invertOrdering :: forall o i. InvertOrdering i o => OProxy i -> OProxy o