Module
Type.Prelude
- Package
- purescript-typelevel-prelude
- Repository
- purescript/purescript-typelevel-prelude
Re-exports from Type.Data.Boolean
#reifyBoolean Source
reifyBoolean :: forall r. Boolean -> (forall o. IsBoolean o => BProxy o -> r) -> rUse a value level Boolean as a type-level Boolean
Re-exports from Type.Data.Ordering
#IsOrdering Source
class IsOrdering (ordering :: Ordering) whereClass for reflecting a type level Ordering at the value level
Members
reflectOrdering :: OProxy ordering -> Ordering
Instances
#reifyOrdering Source
reifyOrdering :: forall r. Ordering -> (forall o. IsOrdering o => OProxy o -> r) -> rUse a value level Ordering as a type-level Ordering
Re-exports from Type.Data.Symbol
#AppendSymbol Source
class AppendSymbol (lhs :: Symbol) (rhs :: Symbol) (out :: Symbol) | lhs rhs -> outAppend two Symbol types together
#CompareSymbol Source
class CompareSymbol (lhs :: Symbol) (rhs :: Symbol) (out :: Ordering) | lhs rhs -> outCompare two Symbol types
#IsSymbol Source
class IsSymbol (sym :: Symbol) whereA class for known symbols
Members
reflectSymbol :: SProxy sym -> String
Instances
(IsSymbol left, IsSymbol right) => IsSymbol (TypeConcat left right)
#reifySymbol Source
reifySymbol :: forall r. String -> (forall sym. IsSymbol sym => SProxy sym -> r) -> r#compareSymbol Source
compareSymbol :: forall o r l. CompareSymbol l r o => SProxy l -> SProxy r -> OProxy o#appendSymbol Source
appendSymbol :: forall o r l. AppendSymbol l r o => SProxy l -> SProxy r -> SProxy oRe-exports from Type.Equality
#TypeEquals Source
class TypeEquals a b | a -> b, b -> a whereThis type class asserts that types a and b
are equal.
The functional dependencies and the single instance below will force the two type arguments to unify when either one is known.
Note: any instance will necessarily overlap with
refl below, so instances of this class should
not be defined in libraries.
Members
Instances
TypeEquals a a