singletons-2.5: A framework for generating singleton types

Copyright(C) 2018 Ryan Scott
LicenseBSD-style (see LICENSE)
MaintainerRyan Scott
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Data.Singletons.TypeError

Contents

Description

Defines a drop-in replacement for TypeError (from GHC.TypeLits) that can be used at the value level as well. Since this is a drop-in replacement, it is not recommended to import all of GHC.TypeLits and Data.Singletons.TypeError at the same time, as many of the definitons in the latter deliberately clash with the former.

Synopsis

Documentation

type family TypeError (a :: PErrorMessage) :: b where ... Source #

A drop-in replacement for TypeError. This also exists at the value-level as typeError.

sTypeError :: HasCallStack => Sing err -> Sing (TypeError err) Source #

The singleton for typeError.

Note that this is not quite as expressive as TypeError, as it is unable to handle ShowType constructors at all.

typeError :: HasCallStack => ErrorMessage -> a Source #

The value-level counterpart to TypeError.

Note that this is not quite as expressive as TypeError, as it is unable to print the contents of ShowType constructors (it will simply print "<type>" in their place).

data ErrorMessage' s Source #

A description of a custom type error.

This is a variation on ErrorMessage that is parameterized over what text type is used in the Text constructor. Instantiating it with Text gives you ErrorMessage, and instantiating it with Symbol gives you PErrorMessage.

Constructors

Text s

Show the text as is.

ShowType t

Pretty print the type. ShowType :: k -> ErrorMessage

(ErrorMessage' s) :<>: (ErrorMessage' s) infixl 6

Put two pieces of error message next to each other.

(ErrorMessage' s) :$$: (ErrorMessage' s) infixl 5

Stack two pieces of error message on top of each other.

Instances
SingKind PErrorMessage Source # 
Instance details

Defined in Data.Singletons.TypeError

Associated Types

type Demote PErrorMessage = (r :: Type) Source #

SingI t => SingI (Text t :: ErrorMessage' Symbol) Source # 
Instance details

Defined in Data.Singletons.TypeError

Methods

sing :: Sing (Text t) Source #

SingI ty => SingI (ShowType ty :: ErrorMessage' Symbol) Source # 
Instance details

Defined in Data.Singletons.TypeError

Methods

sing :: Sing (ShowType ty) Source #

(SingI e1, SingI e2) => SingI (e1 :<>: e2 :: ErrorMessage' Symbol) Source # 
Instance details

Defined in Data.Singletons.TypeError

Methods

sing :: Sing (e1 :<>: e2) Source #

(SingI e1, SingI e2) => SingI (e1 :$$: e2 :: ErrorMessage' Symbol) Source # 
Instance details

Defined in Data.Singletons.TypeError

Methods

sing :: Sing (e1 :$$: e2) Source #

SingI (TypeErrorSym0 :: TyFun PErrorMessage b6989586621681262306 -> Type) Source # 
Instance details

Defined in Data.Singletons.TypeError

SingI (TextSym0 :: TyFun Symbol (ErrorMessage' Symbol) -> Type) Source # 
Instance details

Defined in Data.Singletons.TypeError

SingI ((:$$:@#@$) :: TyFun (ErrorMessage' Symbol) (ErrorMessage' Symbol ~> ErrorMessage' Symbol) -> Type) Source # 
Instance details

Defined in Data.Singletons.TypeError

SingI ((:<>:@#@$) :: TyFun (ErrorMessage' Symbol) (ErrorMessage' Symbol ~> ErrorMessage' Symbol) -> Type) Source # 
Instance details

Defined in Data.Singletons.TypeError

SuppressUnusedWarnings (TextSym0 :: TyFun s6989586621681262316 (ErrorMessage' s6989586621681262316) -> Type) Source # 
Instance details

Defined in Data.Singletons.TypeError

SuppressUnusedWarnings (TypeErrorSym0 :: TyFun PErrorMessage b6989586621681262306 -> Type) Source # 
Instance details

Defined in Data.Singletons.TypeError

SuppressUnusedWarnings ((:<>:@#@$) :: TyFun (ErrorMessage' s6989586621681262316) (ErrorMessage' s6989586621681262316 ~> ErrorMessage' s6989586621681262316) -> Type) Source # 
Instance details

Defined in Data.Singletons.TypeError

SuppressUnusedWarnings ((:$$:@#@$) :: TyFun (ErrorMessage' s6989586621681262316) (ErrorMessage' s6989586621681262316 ~> ErrorMessage' s6989586621681262316) -> Type) Source # 
Instance details

Defined in Data.Singletons.TypeError

SingI (ShowTypeSym0 :: TyFun t (ErrorMessage' Symbol) -> Type) Source # 
Instance details

Defined in Data.Singletons.TypeError

SingI x => SingI ((:$$:@#@$$) x :: TyFun (ErrorMessage' Symbol) (ErrorMessage' Symbol) -> Type) Source # 
Instance details

Defined in Data.Singletons.TypeError

Methods

sing :: Sing ((:$$:@#@$$) x) Source #

SingI x => SingI ((:<>:@#@$$) x :: TyFun (ErrorMessage' Symbol) (ErrorMessage' Symbol) -> Type) Source # 
Instance details

Defined in Data.Singletons.TypeError

Methods

sing :: Sing ((:<>:@#@$$) x) Source #

SuppressUnusedWarnings (ShowTypeSym0 :: TyFun t6989586621681262317 (ErrorMessage' s6989586621681262316) -> Type) Source # 
Instance details

Defined in Data.Singletons.TypeError

SuppressUnusedWarnings ((:<>:@#@$$) t6989586621681263106 :: TyFun (ErrorMessage' s6989586621681262316) (ErrorMessage' s6989586621681262316) -> Type) Source # 
Instance details

Defined in Data.Singletons.TypeError

SuppressUnusedWarnings ((:$$:@#@$$) t6989586621681263110 :: TyFun (ErrorMessage' s6989586621681262316) (ErrorMessage' s6989586621681262316) -> Type) Source # 
Instance details

Defined in Data.Singletons.TypeError

SingI (TyCon1 (Text :: Symbol -> ErrorMessage' Symbol)) Source # 
Instance details

Defined in Data.Singletons.TypeError

Methods

sing :: Sing (TyCon1 Text) Source #

SingI (TyCon1 (ShowType :: t -> ErrorMessage' Symbol) :: t ~> ErrorMessage' Symbol) Source # 
Instance details

Defined in Data.Singletons.TypeError

SingI x => SingI (TyCon1 ((:<>:) x) :: ErrorMessage' Symbol ~> ErrorMessage' Symbol) Source # 
Instance details

Defined in Data.Singletons.TypeError

Methods

sing :: Sing (TyCon1 ((:<>:) x)) Source #

SingI x => SingI (TyCon1 ((:$$:) x) :: ErrorMessage' Symbol ~> ErrorMessage' Symbol) Source # 
Instance details

Defined in Data.Singletons.TypeError

Methods

sing :: Sing (TyCon1 ((:$$:) x)) Source #

SingI (TyCon2 ((:<>:) :: ErrorMessage' Symbol -> ErrorMessage' Symbol -> ErrorMessage' Symbol)) Source # 
Instance details

Defined in Data.Singletons.TypeError

SingI (TyCon2 ((:$$:) :: ErrorMessage' Symbol -> ErrorMessage' Symbol -> ErrorMessage' Symbol)) Source # 
Instance details

Defined in Data.Singletons.TypeError

type Demote PErrorMessage Source # 
Instance details

Defined in Data.Singletons.TypeError

data Sing (a :: PErrorMessage) Source # 
Instance details

Defined in Data.Singletons.TypeError

data Sing (a :: PErrorMessage) where
type Apply (TypeErrorSym0 :: TyFun PErrorMessage k2 -> Type) (a6989586621681262307 :: PErrorMessage) Source # 
Instance details

Defined in Data.Singletons.TypeError

type Apply (TypeErrorSym0 :: TyFun PErrorMessage k2 -> Type) (a6989586621681262307 :: PErrorMessage) = (TypeError a6989586621681262307 :: k2)
type Apply (TextSym0 :: TyFun s (ErrorMessage' s) -> Type) (t6989586621681263102 :: s) Source # 
Instance details

Defined in Data.Singletons.TypeError

type Apply (TextSym0 :: TyFun s (ErrorMessage' s) -> Type) (t6989586621681263102 :: s) = Text t6989586621681263102
type Apply (ShowTypeSym0 :: TyFun t (ErrorMessage' s6989586621681262316) -> Type) (t6989586621681263104 :: t) Source # 
Instance details

Defined in Data.Singletons.TypeError

type Apply (ShowTypeSym0 :: TyFun t (ErrorMessage' s6989586621681262316) -> Type) (t6989586621681263104 :: t) = (ShowType t6989586621681263104 :: ErrorMessage' s6989586621681262316)
type Apply ((:<>:@#@$$) t6989586621681263106 :: TyFun (ErrorMessage' s) (ErrorMessage' s) -> Type) (t6989586621681263107 :: ErrorMessage' s) Source # 
Instance details

Defined in Data.Singletons.TypeError

type Apply ((:<>:@#@$$) t6989586621681263106 :: TyFun (ErrorMessage' s) (ErrorMessage' s) -> Type) (t6989586621681263107 :: ErrorMessage' s) = t6989586621681263106 :<>: t6989586621681263107
type Apply ((:$$:@#@$$) t6989586621681263110 :: TyFun (ErrorMessage' s) (ErrorMessage' s) -> Type) (t6989586621681263111 :: ErrorMessage' s) Source # 
Instance details

Defined in Data.Singletons.TypeError

type Apply ((:$$:@#@$$) t6989586621681263110 :: TyFun (ErrorMessage' s) (ErrorMessage' s) -> Type) (t6989586621681263111 :: ErrorMessage' s) = t6989586621681263110 :$$: t6989586621681263111
type Apply ((:<>:@#@$) :: TyFun (ErrorMessage' s6989586621681262316) (ErrorMessage' s6989586621681262316 ~> ErrorMessage' s6989586621681262316) -> Type) (t6989586621681263106 :: ErrorMessage' s6989586621681262316) Source # 
Instance details

Defined in Data.Singletons.TypeError

type Apply ((:<>:@#@$) :: TyFun (ErrorMessage' s6989586621681262316) (ErrorMessage' s6989586621681262316 ~> ErrorMessage' s6989586621681262316) -> Type) (t6989586621681263106 :: ErrorMessage' s6989586621681262316) = (:<>:@#@$$) t6989586621681263106
type Apply ((:$$:@#@$) :: TyFun (ErrorMessage' s6989586621681262316) (ErrorMessage' s6989586621681262316 ~> ErrorMessage' s6989586621681262316) -> Type) (t6989586621681263110 :: ErrorMessage' s6989586621681262316) Source # 
Instance details

Defined in Data.Singletons.TypeError

type Apply ((:$$:@#@$) :: TyFun (ErrorMessage' s6989586621681262316) (ErrorMessage' s6989586621681262316 ~> ErrorMessage' s6989586621681262316) -> Type) (t6989586621681263110 :: ErrorMessage' s6989586621681262316) = (:$$:@#@$$) t6989586621681263110

type ErrorMessage = ErrorMessage' Text Source #

A value-level ErrorMessage' which uses Text as its text type.

type PErrorMessage = ErrorMessage' Symbol Source #

A type-level ErrorMessage' which uses Symbol as its text kind.

data family Sing :: k -> Type infixl 6 :%<>:infixl 5 :%$$: Source #

The singleton kind-indexed data family.

Instances
SDecide k => TestCoercion (Sing :: k -> Type) Source # 
Instance details

Defined in Data.Singletons.Decide

Methods

testCoercion :: Sing a -> Sing b -> Maybe (Coercion a b) #

SDecide k => TestEquality (Sing :: k -> Type) Source # 
Instance details

Defined in Data.Singletons.Decide

Methods

testEquality :: Sing a -> Sing b -> Maybe (a :~: b) #

Show (SSymbol s) Source # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> SSymbol s -> ShowS #

show :: SSymbol s -> String #

showList :: [SSymbol s] -> ShowS #

Show (SNat n) Source # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> SNat n -> ShowS #

show :: SNat n -> String #

showList :: [SNat n] -> ShowS #

Eq (Sing a) Source # 
Instance details

Defined in Data.Singletons.TypeRepTYPE

Methods

(==) :: Sing a -> Sing a -> Bool #

(/=) :: Sing a -> Sing a -> Bool #

Ord (Sing a) Source # 
Instance details

Defined in Data.Singletons.TypeRepTYPE

Methods

compare :: Sing a -> Sing a -> Ordering #

(<) :: Sing a -> Sing a -> Bool #

(<=) :: Sing a -> Sing a -> Bool #

(>) :: Sing a -> Sing a -> Bool #

(>=) :: Sing a -> Sing a -> Bool #

max :: Sing a -> Sing a -> Sing a #

min :: Sing a -> Sing a -> Sing a #

Show (Sing z) Source # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

(ShowSing a, ShowSing [a]) => Show (Sing z) Source # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing a => Show (Sing z) Source # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

Show (Sing z) Source # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

(ShowSing a, ShowSing b) => Show (Sing z) Source # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

Show (Sing a) Source # 
Instance details

Defined in Data.Singletons.TypeRepTYPE

Methods

showsPrec :: Int -> Sing a -> ShowS #

show :: Sing a -> String #

showList :: [Sing a] -> ShowS #

Show (Sing z) Source # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

(ShowSing a, ShowSing b) => Show (Sing z) Source # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

(ShowSing a, ShowSing b, ShowSing c) => Show (Sing z) Source # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

(ShowSing a, ShowSing b, ShowSing c, ShowSing d) => Show (Sing z) Source # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

(ShowSing a, ShowSing b, ShowSing c, ShowSing d, ShowSing e) => Show (Sing z) Source # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

(ShowSing a, ShowSing b, ShowSing c, ShowSing d, ShowSing e, ShowSing f) => Show (Sing z) Source # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

(ShowSing a, ShowSing b, ShowSing c, ShowSing d, ShowSing e, ShowSing f, ShowSing g) => Show (Sing z) Source # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

Show (Sing z) Source # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing a => Show (Sing z) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing a => Show (Sing z) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

(ShowSing a, ShowSing b) => Show (Sing z) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing a => Show (Sing z) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing a => Show (Sing z) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing m => Show (Sing z) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing (Maybe a) => Show (Sing z) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing a => Show (Sing z) Source # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing (Maybe a) => Show (Sing z) Source # 
Instance details

Defined in Data.Singletons.Prelude.Monoid

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing (Maybe a) => Show (Sing z) Source # 
Instance details

Defined in Data.Singletons.Prelude.Monoid

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing a => Show (Sing z) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing Bool => Show (Sing z) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing Bool => Show (Sing z) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing a => Show (Sing z) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing a => Show (Sing z) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

(ShowSing a, ShowSing [a]) => Show (Sing z) Source # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

data Sing (a :: Bool) Source # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (a :: Bool) where
data Sing (a :: Ordering) Source # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (a :: Ordering) where
data Sing (n :: Nat) Source # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

data Sing (n :: Nat) where
data Sing (n :: Symbol) Source # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

data Sing (n :: Symbol) where
data Sing (a :: ()) Source # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (a :: ()) where
data Sing (a :: Void) Source # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (a :: Void)
data Sing (a :: All) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

data Sing (a :: All) where
data Sing (a :: Any) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

data Sing (a :: Any) where
data Sing (a :: PErrorMessage) Source # 
Instance details

Defined in Data.Singletons.TypeError

data Sing (a :: PErrorMessage) where
data Sing (b :: [a]) Source # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (b :: [a]) where
  • SNil :: forall k (b :: [k]). Sing ([] :: [k])
  • SCons :: forall a (b :: [a]) (n :: a) (n :: [a]). Sing n -> Sing n -> Sing (n ': n)
data Sing (b :: Maybe a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (b :: Maybe a) where
data Sing (a :: TYPE rep) Source #

A choice of singleton for the kind TYPE rep (for some RuntimeRep rep), an instantiation of which is the famous kind Type.

Conceivably, one could generalize this instance to `Sing :: k -> Type` for any kind k, and remove all other Sing instances. We don't adopt this design, however, since it is far more convenient in practice to work with explicit singleton values than TypeReps (for instance, TypeReps are more difficult to pattern match on, and require extra runtime checks).

We cannot produce explicit singleton values for everything in TYPE rep, however, since it is an open kind, so we reach for TypeRep in this one particular case.

Instance details

Defined in Data.Singletons.TypeRepTYPE

data Sing (a :: TYPE rep) = STypeRep (TypeRep a)
data Sing (b :: Min a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

data Sing (b :: Min a) where
data Sing (b :: Max a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

data Sing (b :: Max a) where
data Sing (b :: First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

data Sing (b :: First a) where
data Sing (b :: Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

data Sing (b :: Last a) where
data Sing (a :: WrappedMonoid m) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

data Sing (a :: WrappedMonoid m) where
data Sing (b :: Option a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

data Sing (b :: Option a) where
data Sing (b :: Identity a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (b :: Identity a) where
data Sing (b :: First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Monoid

data Sing (b :: First a) where
data Sing (b :: Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Monoid

data Sing (b :: Last a) where
data Sing (b :: Dual a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

data Sing (b :: Dual a) where
data Sing (b :: Sum a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

data Sing (b :: Sum a) where
data Sing (b :: Product a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

data Sing (b :: Product a) where
data Sing (b :: Down a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Ord

data Sing (b :: Down a) where
data Sing (b :: NonEmpty a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (b :: NonEmpty a) where
data Sing (c :: Either a b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (c :: Either a b) where
data Sing (c :: (a, b)) Source # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (c :: (a, b)) where
data Sing (c :: Arg a b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

data Sing (c :: Arg a b) where
data Sing (f :: k1 ~> k2) Source # 
Instance details

Defined in Data.Singletons.Internal

data Sing (f :: k1 ~> k2) = SLambda {}
data Sing (d :: (a, b, c)) Source # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (d :: (a, b, c)) where
data Sing (c :: Const a b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Const

data Sing (c :: Const a b) where
data Sing (e :: (a, b, c, d)) Source # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (e :: (a, b, c, d)) where
data Sing (f :: (a, b, c, d, e)) Source # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (f :: (a, b, c, d, e)) where
data Sing (g :: (a, b, c, d, e, f)) Source # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (g :: (a, b, c, d, e, f)) where
data Sing (h :: (a, b, c, d, e, f, g)) Source # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (h :: (a, b, c, d, e, f, g)) where

showErrorMessage :: ErrorMessage -> String Source #

Convert an ErrorMessage into a human-readable String.

Defunctionalization symbols

data TextSym0 :: forall (s6989586621681262316 :: Type). (~>) s6989586621681262316 (ErrorMessage' (s6989586621681262316 :: Type)) Source #

Instances
SingI (TextSym0 :: TyFun Symbol (ErrorMessage' Symbol) -> Type) Source # 
Instance details

Defined in Data.Singletons.TypeError

SuppressUnusedWarnings (TextSym0 :: TyFun s6989586621681262316 (ErrorMessage' s6989586621681262316) -> Type) Source # 
Instance details

Defined in Data.Singletons.TypeError

type Apply (TextSym0 :: TyFun s (ErrorMessage' s) -> Type) (t6989586621681263102 :: s) Source # 
Instance details

Defined in Data.Singletons.TypeError

type Apply (TextSym0 :: TyFun s (ErrorMessage' s) -> Type) (t6989586621681263102 :: s) = Text t6989586621681263102

type TextSym1 (t6989586621681263102 :: s6989586621681262316) = Text t6989586621681263102 Source #

data ShowTypeSym0 :: forall (s6989586621681262316 :: Type) t6989586621681262317. (~>) t6989586621681262317 (ErrorMessage' (s6989586621681262316 :: Type)) Source #

Instances
SingI (ShowTypeSym0 :: TyFun t (ErrorMessage' Symbol) -> Type) Source # 
Instance details

Defined in Data.Singletons.TypeError

SuppressUnusedWarnings (ShowTypeSym0 :: TyFun t6989586621681262317 (ErrorMessage' s6989586621681262316) -> Type) Source # 
Instance details

Defined in Data.Singletons.TypeError

type Apply (ShowTypeSym0 :: TyFun t (ErrorMessage' s6989586621681262316) -> Type) (t6989586621681263104 :: t) Source # 
Instance details

Defined in Data.Singletons.TypeError

type Apply (ShowTypeSym0 :: TyFun t (ErrorMessage' s6989586621681262316) -> Type) (t6989586621681263104 :: t) = (ShowType t6989586621681263104 :: ErrorMessage' s6989586621681262316)

type ShowTypeSym1 (t6989586621681263104 :: t6989586621681262317) = ShowType t6989586621681263104 Source #

data (:<>:@#@$) :: forall (s6989586621681262316 :: Type). (~>) (ErrorMessage' s6989586621681262316) ((~>) (ErrorMessage' s6989586621681262316) (ErrorMessage' (s6989586621681262316 :: Type))) infixl 6 Source #

Instances
SingI ((:<>:@#@$) :: TyFun (ErrorMessage' Symbol) (ErrorMessage' Symbol ~> ErrorMessage' Symbol) -> Type) Source # 
Instance details

Defined in Data.Singletons.TypeError

SuppressUnusedWarnings ((:<>:@#@$) :: TyFun (ErrorMessage' s6989586621681262316) (ErrorMessage' s6989586621681262316 ~> ErrorMessage' s6989586621681262316) -> Type) Source # 
Instance details

Defined in Data.Singletons.TypeError

type Apply ((:<>:@#@$) :: TyFun (ErrorMessage' s6989586621681262316) (ErrorMessage' s6989586621681262316 ~> ErrorMessage' s6989586621681262316) -> Type) (t6989586621681263106 :: ErrorMessage' s6989586621681262316) Source # 
Instance details

Defined in Data.Singletons.TypeError

type Apply ((:<>:@#@$) :: TyFun (ErrorMessage' s6989586621681262316) (ErrorMessage' s6989586621681262316 ~> ErrorMessage' s6989586621681262316) -> Type) (t6989586621681263106 :: ErrorMessage' s6989586621681262316) = (:<>:@#@$$) t6989586621681263106

data (:<>:@#@$$) (t6989586621681263106 :: ErrorMessage' (s6989586621681262316 :: Type)) :: (~>) (ErrorMessage' s6989586621681262316) (ErrorMessage' (s6989586621681262316 :: Type)) infixl 6 Source #

Instances
SingI x => SingI ((:<>:@#@$$) x :: TyFun (ErrorMessage' Symbol) (ErrorMessage' Symbol) -> Type) Source # 
Instance details

Defined in Data.Singletons.TypeError

Methods

sing :: Sing ((:<>:@#@$$) x) Source #

SuppressUnusedWarnings ((:<>:@#@$$) t6989586621681263106 :: TyFun (ErrorMessage' s6989586621681262316) (ErrorMessage' s6989586621681262316) -> Type) Source # 
Instance details

Defined in Data.Singletons.TypeError

type Apply ((:<>:@#@$$) t6989586621681263106 :: TyFun (ErrorMessage' s) (ErrorMessage' s) -> Type) (t6989586621681263107 :: ErrorMessage' s) Source # 
Instance details

Defined in Data.Singletons.TypeError

type Apply ((:<>:@#@$$) t6989586621681263106 :: TyFun (ErrorMessage' s) (ErrorMessage' s) -> Type) (t6989586621681263107 :: ErrorMessage' s) = t6989586621681263106 :<>: t6989586621681263107

type (:<>:@#@$$$) (t6989586621681263106 :: ErrorMessage' s6989586621681262316) (t6989586621681263107 :: ErrorMessage' s6989586621681262316) = (:<>:) t6989586621681263106 t6989586621681263107 Source #

data (:$$:@#@$) :: forall (s6989586621681262316 :: Type). (~>) (ErrorMessage' s6989586621681262316) ((~>) (ErrorMessage' s6989586621681262316) (ErrorMessage' (s6989586621681262316 :: Type))) infixl 5 Source #

Instances
SingI ((:$$:@#@$) :: TyFun (ErrorMessage' Symbol) (ErrorMessage' Symbol ~> ErrorMessage' Symbol) -> Type) Source # 
Instance details

Defined in Data.Singletons.TypeError

SuppressUnusedWarnings ((:$$:@#@$) :: TyFun (ErrorMessage' s6989586621681262316) (ErrorMessage' s6989586621681262316 ~> ErrorMessage' s6989586621681262316) -> Type) Source # 
Instance details

Defined in Data.Singletons.TypeError

type Apply ((:$$:@#@$) :: TyFun (ErrorMessage' s6989586621681262316) (ErrorMessage' s6989586621681262316 ~> ErrorMessage' s6989586621681262316) -> Type) (t6989586621681263110 :: ErrorMessage' s6989586621681262316) Source # 
Instance details

Defined in Data.Singletons.TypeError

type Apply ((:$$:@#@$) :: TyFun (ErrorMessage' s6989586621681262316) (ErrorMessage' s6989586621681262316 ~> ErrorMessage' s6989586621681262316) -> Type) (t6989586621681263110 :: ErrorMessage' s6989586621681262316) = (:$$:@#@$$) t6989586621681263110

data (:$$:@#@$$) (t6989586621681263110 :: ErrorMessage' (s6989586621681262316 :: Type)) :: (~>) (ErrorMessage' s6989586621681262316) (ErrorMessage' (s6989586621681262316 :: Type)) infixl 5 Source #

Instances
SingI x => SingI ((:$$:@#@$$) x :: TyFun (ErrorMessage' Symbol) (ErrorMessage' Symbol) -> Type) Source # 
Instance details

Defined in Data.Singletons.TypeError

Methods

sing :: Sing ((:$$:@#@$$) x) Source #

SuppressUnusedWarnings ((:$$:@#@$$) t6989586621681263110 :: TyFun (ErrorMessage' s6989586621681262316) (ErrorMessage' s6989586621681262316) -> Type) Source # 
Instance details

Defined in Data.Singletons.TypeError

type Apply ((:$$:@#@$$) t6989586621681263110 :: TyFun (ErrorMessage' s) (ErrorMessage' s) -> Type) (t6989586621681263111 :: ErrorMessage' s) Source # 
Instance details

Defined in Data.Singletons.TypeError

type Apply ((:$$:@#@$$) t6989586621681263110 :: TyFun (ErrorMessage' s) (ErrorMessage' s) -> Type) (t6989586621681263111 :: ErrorMessage' s) = t6989586621681263110 :$$: t6989586621681263111

type (:$$:@#@$$$) (t6989586621681263110 :: ErrorMessage' s6989586621681262316) (t6989586621681263111 :: ErrorMessage' s6989586621681262316) = (:$$:) t6989586621681263110 t6989586621681263111 Source #

data TypeErrorSym0 :: forall b6989586621681262306. (~>) PErrorMessage b6989586621681262306 Source #

Instances
SingI (TypeErrorSym0 :: TyFun PErrorMessage b6989586621681262306 -> Type) Source # 
Instance details

Defined in Data.Singletons.TypeError

SuppressUnusedWarnings (TypeErrorSym0 :: TyFun PErrorMessage b6989586621681262306 -> Type) Source # 
Instance details

Defined in Data.Singletons.TypeError

type Apply (TypeErrorSym0 :: TyFun PErrorMessage k2 -> Type) (a6989586621681262307 :: PErrorMessage) Source # 
Instance details

Defined in Data.Singletons.TypeError

type Apply (TypeErrorSym0 :: TyFun PErrorMessage k2 -> Type) (a6989586621681262307 :: PErrorMessage) = (TypeError a6989586621681262307 :: k2)

type TypeErrorSym1 (a6989586621681262307 :: PErrorMessage) = TypeError a6989586621681262307 Source #