Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
This module exposes internals of Data.Type.Coercion.Sub.
Using this module allows to violate the premises Sub
type provides.
It is advisable not to import this module if there is another way,
and to limit the amount of code accesible to this module.
Documentation
newtype Sub (a :: k) (b :: k) Source #
Sub
is a newtype wrapper around Coercion
, but made opaque to hide
the ability to coerce
into other direction.
This is convenient for newtype wrappers which give additional guarantees.
You can make Sub
witnesses by using combinators in this module, or the methods of
the
instance: Category
Subid
and (
..
)
Instances
Category (Sub :: k -> k -> Type) Source # | |
Coercible a b => Bounded (Sub a b) Source # | |
Coercible a b => Enum (Sub a b) Source # | |
Coercible a b => Read (Sub a b) Source # | |
Show (Sub a b) Source # | |
Eq (Sub a b) Source # | |
Ord (Sub a b) Source # | |
Defined in Data.Type.Coercion.Sub.Internal |