{-# LANGUAGE ExplicitNamespaces #-}
module Data.Singletons.Base.TH (
singletons, singletonsOnly, genSingletons,
promote, promoteOnly, genDefunSymbols, genPromotions,
promoteEqInstances, promoteEqInstance,
singEqInstances, singEqInstance,
singDecideInstances, singDecideInstance,
promoteOrdInstances, promoteOrdInstance,
singOrdInstances, singOrdInstance,
promoteBoundedInstances, promoteBoundedInstance,
singBoundedInstances, singBoundedInstance,
promoteEnumInstances, promoteEnumInstance,
singEnumInstances, singEnumInstance,
promoteShowInstances, promoteShowInstance,
singShowInstances, singShowInstance,
showSingInstances, showSingInstance,
singITyConInstances, singITyConInstance,
cases, sCases,
SList(..), SBool(..), STuple0(..), STuple2(..), STuple3(..), STuple4(..),
STuple5(..), STuple6(..), STuple7(..), SOrdering(..),
module Data.Singletons,
PEq(..), If, sIf, type (&&), (%&&), SEq(..),
POrd(..), SOrd(..), ThenCmp, sThenCmp,
SDecide(..), (:~:)(..), Void, Refuted, Decision(..),
PBounded(..), SBounded(..),
PEnum(FromEnum, ToEnum), SEnum(sFromEnum, sToEnum),
PShow(..), SShow(..), PIsString(..), SIsString(..),
ShowString, sShowString, ShowParen, sShowParen, ShowSpace, sShowSpace,
ShowChar, sShowChar, ShowCommaSpace, sShowCommaSpace,
FromInteger, sFromInteger, Negate, sNegate,
PFunctor(..), SFunctor(..),
PFoldable(..), SFoldable(..), PMonoid(..), SMonoid(..),
PTraversable(..), STraversable(..), PApplicative(..), SApplicative(..),
type (.), (%.),
Error, sError, ErrorSym0, ErrorSym1,
Undefined, sUndefined, UndefinedSym0,
TrueSym0, FalseSym0,
type (==@#@$), type (==@#@$$), type (==@#@$$$),
type (>@#@$), type (>@#@$$), type (>@#@$$$),
IfSym0, IfSym1, IfSym2, IfSym3,
type (&&@#@$), type (&&@#@$$), type (&&@#@$$$),
LTSym0, EQSym0, GTSym0,
Tuple0Sym0,
Tuple2Sym0, Tuple2Sym1, Tuple2Sym2,
Tuple3Sym0, Tuple3Sym1, Tuple3Sym2, Tuple3Sym3,
Tuple4Sym0, Tuple4Sym1, Tuple4Sym2, Tuple4Sym3, Tuple4Sym4,
Tuple5Sym0, Tuple5Sym1, Tuple5Sym2, Tuple5Sym3, Tuple5Sym4, Tuple5Sym5,
Tuple6Sym0, Tuple6Sym1, Tuple6Sym2, Tuple6Sym3, Tuple6Sym4, Tuple6Sym5, Tuple6Sym6,
Tuple7Sym0, Tuple7Sym1, Tuple7Sym2, Tuple7Sym3, Tuple7Sym4, Tuple7Sym5, Tuple7Sym6, Tuple7Sym7,
CompareSym0, CompareSym1, CompareSym2,
ThenCmpSym0, ThenCmpSym1, ThenCmpSym2,
FoldlSym0, FoldlSym1, FoldlSym2, FoldlSym3,
MinBoundSym0, MaxBoundSym0,
ShowsPrecSym0, ShowsPrecSym1, ShowsPrecSym2, ShowsPrecSym3,
ShowStringSym0, ShowStringSym1, ShowStringSym2,
ShowParenSym0, ShowParenSym1, ShowParenSym2,
ShowSpaceSym0, ShowSpaceSym1,
ShowCharSym0, ShowCharSym1, ShowCharSym2,
ShowCommaSpaceSym0, ShowCommaSpaceSym1,
FromIntegerSym0, FromIntegerSym1,
NegateSym0, NegateSym1,
FromStringSym0, FromStringSym1,
FmapSym0, FmapSym1, FmapSym2,
type (<$@#@$), type (<$@#@$$), type (<$@#@$$$),
FoldMapSym0, FoldMapSym1, FoldMapSym2,
MemptySym0,
MappendSym0, MappendSym1, MappendSym2,
FoldrSym0, FoldrSym1, FoldrSym2, FoldrSym3,
TraverseSym0, TraverseSym1, TraverseSym2,
PureSym0, PureSym1,
type (<*>@#@$), type (<*>@#@$$), type (<*>@#@$$$),
LiftA2Sym0, LiftA2Sym1, LiftA2Sym2, LiftA2Sym3,
type (.@#@$), type (.@#@$$), type (.@#@$$$), type (.@#@$$$$),
NilSym0, (:@#@$), (:@#@$$), (:@#@$$$),
SuppressUnusedWarnings(..)
) where
import Control.Applicative.Singletons
import Data.Bool.Singletons
import Data.Eq.Singletons
import Data.Foldable.Singletons
import Data.Functor.Singletons hiding (Void)
import Data.Monoid.Singletons
import Data.Ord.Singletons
import Data.Singletons
import Data.Singletons.Base.Enum
import Data.Singletons.Base.Instances
hiding (Foldl, FoldlSym0, FoldlSym1, FoldlSym2, FoldlSym3, sFoldl)
import Data.Singletons.Decide
import Data.Singletons.TH
import Data.String.Singletons
import Data.Traversable.Singletons
import GHC.Base.Singletons
hiding (Foldr, FoldrSym0, FoldrSym1, FoldrSym2, FoldrSym3, sFoldr)
import GHC.Num.Singletons
import GHC.TypeLits.Singletons
import Text.Show.Singletons