| Copyright | (C) 2013 Richard Eisenberg |
|---|---|
| License | BSD-style (see LICENSE) |
| Maintainer | Ryan Scott |
| Stability | experimental |
| Portability | non-portable |
| Safe Haskell | None |
| Language | Haskell2010 |
Data.Singletons.TypeRepTYPE
Contents
Description
This module defines singleton instances making TypeRep the singleton for
the kind (for some TYPE repRuntimeRep rep), an instantiation of
which is the famous kind Type. The definitions don't fully line up with
what is expected within the singletons library, so expect unusual results!
Synopsis
- data family Sing :: k -> Type
- data SomeTypeRepTYPE :: RuntimeRep -> Type where
- SomeTypeRepTYPE :: forall (rep :: RuntimeRep) (a :: TYPE rep). !(TypeRep a) -> SomeTypeRepTYPE rep
Documentation
data family Sing :: k -> Type Source #
The singleton kind-indexed data family.
Instances
| SDecide k => TestCoercion (Sing :: k -> Type) Source # | |
Defined in Data.Singletons.Decide | |
| SDecide k => TestEquality (Sing :: k -> Type) Source # | |
Defined in Data.Singletons.Decide | |
| Show (SSymbol s) Source # | |
| Show (SNat n) Source # | |
| Eq (Sing a) Source # | |
| Ord (Sing a) Source # | |
| Show (Sing z) Source # | |
| (ShowSing a, ShowSing [a]) => Show (Sing z) Source # | |
| ShowSing a => Show (Sing z) Source # | |
| Show (Sing z) Source # | |
| (ShowSing a, ShowSing b) => Show (Sing z) Source # | |
| Show (Sing a) Source # | |
| Show (Sing z) Source # | |
| (ShowSing a, ShowSing b) => Show (Sing z) Source # | |
| (ShowSing a, ShowSing b, ShowSing c) => Show (Sing z) Source # | |
| (ShowSing a, ShowSing b, ShowSing c, ShowSing d) => Show (Sing z) Source # | |
| (ShowSing a, ShowSing b, ShowSing c, ShowSing d, ShowSing e) => Show (Sing z) Source # | |
| (ShowSing a, ShowSing b, ShowSing c, ShowSing d, ShowSing e, ShowSing f) => Show (Sing z) Source # | |
| (ShowSing a, ShowSing b, ShowSing c, ShowSing d, ShowSing e, ShowSing f, ShowSing g) => Show (Sing z) Source # | |
| Show (Sing z) Source # | |
| ShowSing a => Show (Sing z) Source # | |
| ShowSing a => Show (Sing z) Source # | |
| (ShowSing a, ShowSing b) => Show (Sing z) Source # | |
| ShowSing a => Show (Sing z) Source # | |
| ShowSing a => Show (Sing z) Source # | |
| ShowSing m => Show (Sing z) Source # | |
| ShowSing (Maybe a) => Show (Sing z) Source # | |
| ShowSing a => Show (Sing z) Source # | |
| ShowSing (Maybe a) => Show (Sing z) Source # | |
| ShowSing (Maybe a) => Show (Sing z) Source # | |
| ShowSing a => Show (Sing z) Source # | |
| ShowSing Bool => Show (Sing z) Source # | |
| ShowSing Bool => Show (Sing z) Source # | |
| ShowSing a => Show (Sing z) Source # | |
| ShowSing a => Show (Sing z) Source # | |
| (ShowSing a, ShowSing [a]) => Show (Sing z) Source # | |
| data Sing (a :: Bool) Source # | |
| data Sing (a :: Ordering) Source # | |
| data Sing (n :: Nat) Source # | |
| data Sing (n :: Symbol) Source # | |
Defined in Data.Singletons.TypeLits.Internal | |
| data Sing (a :: ()) Source # | |
Defined in Data.Singletons.Prelude.Instances | |
| data Sing (a :: Void) Source # | |
Defined in Data.Singletons.Prelude.Instances | |
| data Sing (a :: All) Source # | |
| data Sing (a :: Any) Source # | |
| data Sing (a :: PErrorMessage) Source # | |
Defined in Data.Singletons.TypeError data Sing (a :: PErrorMessage) where
| |
| data Sing (b :: [a]) Source # | |
| data Sing (b :: Maybe a) Source # | |
| data Sing (a :: TYPE rep) Source # | A choice of singleton for the kind Conceivably, one could generalize this instance to `Sing :: k -> Type` for
any kind We cannot produce explicit singleton values for everything in |
Defined in Data.Singletons.TypeRepTYPE | |
| data Sing (b :: Min a) Source # | |
| data Sing (b :: Max a) Source # | |
| data Sing (b :: First a) Source # | |
| data Sing (b :: Last a) Source # | |
| data Sing (a :: WrappedMonoid m) Source # | |
Defined in Data.Singletons.Prelude.Semigroup.Internal data Sing (a :: WrappedMonoid m) where
| |
| data Sing (b :: Option a) Source # | |
| data Sing (b :: Identity a) Source # | |
| data Sing (b :: First a) Source # | |
| data Sing (b :: Last a) Source # | |
| data Sing (b :: Dual a) Source # | |
| data Sing (b :: Sum a) Source # | |
| data Sing (b :: Product a) Source # | |
| data Sing (b :: Down a) Source # | |
| data Sing (b :: NonEmpty a) Source # | |
| data Sing (c :: Either a b) Source # | |
| data Sing (c :: (a, b)) Source # | |
| data Sing (c :: Arg a b) Source # | |
| data Sing (f :: k1 ~> k2) Source # | |
| data Sing (d :: (a, b, c)) Source # | |
| data Sing (c :: Const a b) Source # | |
| data Sing (e :: (a, b, c, d)) Source # | |
| data Sing (f :: (a, b, c, d, e)) Source # | |
| data Sing (g :: (a, b, c, d, e, f)) Source # | |
| data Sing (h :: (a, b, c, d, e, f, g)) Source # | |
Defined in Data.Singletons.Prelude.Instances | |
Here is the definition of the singleton for :TYPE rep
newtype instance Sing :: forall (rep :: RuntimeRep). TYPE rep -> Type where STypeRep :: forall (rep :: RuntimeRep) (a :: TYPE rep). TypeRep a -> Sing a
Instances for SingI, SingKind, SEq, SDecide, and
TestCoercion are also supplied.
data SomeTypeRepTYPE :: RuntimeRep -> Type where Source #
A variant of SomeTypeRep whose underlying TypeRep is restricted to
kind (for some TYPE repRuntimeRep rep).
Constructors
| SomeTypeRepTYPE :: forall (rep :: RuntimeRep) (a :: TYPE rep). !(TypeRep a) -> SomeTypeRepTYPE rep |
Instances
| Eq (SomeTypeRepTYPE rep) Source # | |
Defined in Data.Singletons.TypeRepTYPE Methods (==) :: SomeTypeRepTYPE rep -> SomeTypeRepTYPE rep -> Bool # (/=) :: SomeTypeRepTYPE rep -> SomeTypeRepTYPE rep -> Bool # | |
| Ord (SomeTypeRepTYPE rep) Source # | |
Defined in Data.Singletons.TypeRepTYPE Methods compare :: SomeTypeRepTYPE rep -> SomeTypeRepTYPE rep -> Ordering # (<) :: SomeTypeRepTYPE rep -> SomeTypeRepTYPE rep -> Bool # (<=) :: SomeTypeRepTYPE rep -> SomeTypeRepTYPE rep -> Bool # (>) :: SomeTypeRepTYPE rep -> SomeTypeRepTYPE rep -> Bool # (>=) :: SomeTypeRepTYPE rep -> SomeTypeRepTYPE rep -> Bool # max :: SomeTypeRepTYPE rep -> SomeTypeRepTYPE rep -> SomeTypeRepTYPE rep # min :: SomeTypeRepTYPE rep -> SomeTypeRepTYPE rep -> SomeTypeRepTYPE rep # | |
| Show (SomeTypeRepTYPE rep) Source # | |
Defined in Data.Singletons.TypeRepTYPE Methods showsPrec :: Int -> SomeTypeRepTYPE rep -> ShowS # show :: SomeTypeRepTYPE rep -> String # showList :: [SomeTypeRepTYPE rep] -> ShowS # | |