singletons-2.5.1: A framework for generating singleton types

Copyright(C) 2013 Richard Eisenberg
LicenseBSD-style (see LICENSE)
MaintainerRyan Scott
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Data.Singletons.Prelude

Contents

Description

Mimics the Haskell Prelude, but with singleton types. Includes the basic singleton definitions. Note: This is currently very incomplete!

Because many of these definitions are produced by Template Haskell, it is not possible to create proper Haddock documentation. Also, please excuse the apparent repeated variable names. This is due to an interaction between Template Haskell and Haddock.

Synopsis
  • module Data.Singletons
  • data family Sing :: k -> Type
  • type SBool = (Sing :: Bool -> Type)
  • type SList = (Sing :: [a] -> Type)
  • type SMaybe = (Sing :: Maybe a -> Type)
  • type SEither = (Sing :: Either a b -> Type)
  • type SOrdering = (Sing :: Ordering -> Type)
  • type STuple0 = (Sing :: () -> Type)
  • type STuple2 = (Sing :: (a, b) -> Type)
  • type STuple3 = (Sing :: (a, b, c) -> Type)
  • type STuple4 = (Sing :: (a, b, c, d) -> Type)
  • type STuple5 = (Sing :: (a, b, c, d, e) -> Type)
  • type STuple6 = (Sing :: (a, b, c, d, e, f) -> Type)
  • type STuple7 = (Sing :: (a, b, c, d, e, f, g) -> Type)
  • type family If (cond :: Bool) (tru :: k) (fls :: k) :: k where ...
  • sIf :: Sing a -> Sing b -> Sing c -> Sing (If a b c)
  • type family Not (a :: Bool) = (res :: Bool) | res -> a where ...
  • sNot :: Sing a -> Sing (Not a)
  • type family (a :: Bool) && (b :: Bool) :: Bool where ...
  • type family (a :: Bool) || (b :: Bool) :: Bool where ...
  • (%&&) :: Sing a -> Sing b -> Sing (a && b)
  • (%||) :: Sing a -> Sing b -> Sing (a || b)
  • type family Otherwise :: Bool where ...
  • sOtherwise :: Sing (OtherwiseSym0 :: Bool)
  • type family Error (str :: k0) :: k where ...
  • sError :: HasCallStack => Sing (str :: Symbol) -> a
  • type family ErrorWithoutStackTrace (str :: k0) :: k where ...
  • sErrorWithoutStackTrace :: Sing (str :: Symbol) -> a
  • type family Undefined :: k where ...
  • sUndefined :: HasCallStack => a
  • module Data.Singletons.Prelude.Eq
  • class PEq a => POrd (a :: Type) where
    • type Compare (arg :: a) (arg :: a) :: Ordering
    • type (arg :: a) < (arg :: a) :: Bool
    • type (arg :: a) <= (arg :: a) :: Bool
    • type (arg :: a) > (arg :: a) :: Bool
    • type (arg :: a) >= (arg :: a) :: Bool
    • type Max (arg :: a) (arg :: a) :: a
    • type Min (arg :: a) (arg :: a) :: a
  • class SEq a => SOrd a where
  • class SBounded a where
  • class PBounded (a :: Type) where
  • type MaxBoundSym0 = MaxBound
  • type MinBoundSym0 = MinBound
  • class SEnum a where
  • class PEnum (a :: Type) where
  • data EnumFromThenToSym0 :: forall a6989586621679730982. (~>) a6989586621679730982 ((~>) a6989586621679730982 ((~>) a6989586621679730982 [a6989586621679730982]))
  • data EnumFromThenToSym1 (arg6989586621679731278 :: a6989586621679730982) :: (~>) a6989586621679730982 ((~>) a6989586621679730982 [a6989586621679730982])
  • data EnumFromThenToSym2 (arg6989586621679731278 :: a6989586621679730982) (arg6989586621679731279 :: a6989586621679730982) :: (~>) a6989586621679730982 [a6989586621679730982]
  • type EnumFromThenToSym3 (arg6989586621679731278 :: a6989586621679730982) (arg6989586621679731279 :: a6989586621679730982) (arg6989586621679731280 :: a6989586621679730982) = EnumFromThenTo arg6989586621679731278 arg6989586621679731279 arg6989586621679731280
  • data EnumFromToSym0 :: forall a6989586621679730982. (~>) a6989586621679730982 ((~>) a6989586621679730982 [a6989586621679730982])
  • data EnumFromToSym1 (arg6989586621679731274 :: a6989586621679730982) :: (~>) a6989586621679730982 [a6989586621679730982]
  • type EnumFromToSym2 (arg6989586621679731274 :: a6989586621679730982) (arg6989586621679731275 :: a6989586621679730982) = EnumFromTo arg6989586621679731274 arg6989586621679731275
  • data FromEnumSym0 :: forall a6989586621679730982. (~>) a6989586621679730982 Nat
  • type FromEnumSym1 (arg6989586621679731272 :: a6989586621679730982) = FromEnum arg6989586621679731272
  • data ToEnumSym0 :: forall a6989586621679730982. (~>) Nat a6989586621679730982
  • type ToEnumSym1 (arg6989586621679731270 :: Nat) = ToEnum arg6989586621679731270
  • module Data.Singletons.Prelude.Num
  • type family (a :: Nat) ^ (b :: Nat) :: Nat where ...
  • (%^) :: Sing a -> Sing b -> Sing (a ^ b)
  • class PShow (a :: Type) where
  • class SShow a where
  • type ShowS = String -> String
  • type SChar = Symbol
  • type family Shows (a :: a) (a :: Symbol) :: Symbol where ...
  • sShows :: forall a (t :: a) (t :: Symbol). SShow a => Sing t -> Sing t -> Sing (Apply (Apply ShowsSym0 t) t :: Symbol)
  • type family ShowChar (a :: Symbol) (a :: Symbol) :: Symbol where ...
  • sShowChar :: forall (t :: Symbol) (t :: Symbol). Sing t -> Sing t -> Sing (Apply (Apply ShowCharSym0 t) t :: Symbol)
  • type family ShowString (a :: Symbol) (a :: Symbol) :: Symbol where ...
  • sShowString :: forall (t :: Symbol) (t :: Symbol). Sing t -> Sing t -> Sing (Apply (Apply ShowStringSym0 t) t :: Symbol)
  • type family ShowParen (a :: Bool) (a :: (~>) Symbol Symbol) (a :: Symbol) :: Symbol where ...
  • sShowParen :: forall (t :: Bool) (t :: (~>) Symbol Symbol) (t :: Symbol). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowParenSym0 t) t) t :: Symbol)
  • class PSemigroup (a :: Type) where
    • type (arg :: a) <> (arg :: a) :: a
  • class SSemigroup a where
  • class PSemigroup a => PMonoid (a :: Type) where
  • class SSemigroup a => SMonoid a where
  • class PFunctor (f :: Type -> Type) where
    • type Fmap (arg :: (~>) a b) (arg :: f a) :: f b
    • type (arg :: a) <$ (arg :: f b) :: f a
  • class SFunctor (f :: Type -> Type) where
  • type family (a :: (~>) a b) <$> (a :: f a) :: f b where ...
  • (%<$>) :: forall f a b (t :: (~>) a b) (t :: f a). SFunctor f => Sing t -> Sing t -> Sing (Apply (Apply (<$>@#@$) t) t :: f b)
  • class PFunctor f => PApplicative (f :: Type -> Type) where
    • type Pure (arg :: a) :: f a
    • type (arg :: f ((~>) a b)) <*> (arg :: f a) :: f b
    • type (arg :: f a) *> (arg :: f b) :: f b
    • type (arg :: f a) <* (arg :: f b) :: f a
  • class SFunctor f => SApplicative (f :: Type -> Type) where
  • class PApplicative m => PMonad (m :: Type -> Type) where
    • type (arg :: m a) >>= (arg :: (~>) a (m b)) :: m b
    • type (arg :: m a) >> (arg :: m b) :: m b
    • type Return (arg :: a) :: m a
    • type Fail (arg :: Symbol) :: m a
  • class SApplicative m => SMonad (m :: Type -> Type) where
  • type family MapM_ (a :: (~>) a (m b)) (a :: t a) :: m () where ...
  • sMapM_ :: forall t m a b (t :: (~>) a (m b)) (t :: t a). (SFoldable t, SMonad m) => Sing t -> Sing t -> Sing (Apply (Apply MapM_Sym0 t) t :: m ())
  • type family Sequence_ (a :: t (m a)) :: m () where ...
  • sSequence_ :: forall t m a (t :: t (m a)). (SFoldable t, SMonad m) => Sing t -> Sing (Apply Sequence_Sym0 t :: m ())
  • type family (a :: (~>) a (m b)) =<< (a :: m a) :: m b where ...
  • (%=<<) :: forall m a b (t :: (~>) a (m b)) (t :: m a). SMonad m => Sing t -> Sing t -> Sing (Apply (Apply (=<<@#@$) t) t :: m b)
  • class PFoldable (t :: Type -> Type) where
  • class SFoldable (t :: Type -> Type) where
  • class (PFunctor t, PFoldable t) => PTraversable (t :: Type -> Type) where
    • type Traverse (arg :: (~>) a (f b)) (arg :: t a) :: f (t b)
    • type SequenceA (arg :: t (f a)) :: f (t a)
    • type MapM (arg :: (~>) a (m b)) (arg :: t a) :: m (t b)
    • type Sequence (arg :: t (m a)) :: m (t a)
  • class (SFunctor t, SFoldable t) => STraversable (t :: Type -> Type) where
  • type family Id (a :: a) :: a where ...
  • sId :: forall a (t :: a). Sing t -> Sing (Apply IdSym0 t :: a)
  • type family Const (a :: a) (a :: b) :: a where ...
  • sConst :: forall a b (t :: a) (t :: b). Sing t -> Sing t -> Sing (Apply (Apply ConstSym0 t) t :: a)
  • type family ((a :: (~>) b c) :. (a :: (~>) a b)) (a :: a) :: c where ...
  • (%.) :: forall b c a (t :: (~>) b c) (t :: (~>) a b) (t :: a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply (.@#@$) t) t) t :: c)
  • type family (a :: (~>) a b) $ (a :: a) :: b where ...
  • (%$) :: forall a b (t :: (~>) a b) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply ($@#@$) t) t :: b)
  • type family (a :: (~>) a b) $! (a :: a) :: b where ...
  • (%$!) :: forall a b (t :: (~>) a b) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply ($!@#@$) t) t :: b)
  • type family Flip (a :: (~>) a ((~>) b c)) (a :: b) (a :: a) :: c where ...
  • sFlip :: forall a b c (t :: (~>) a ((~>) b c)) (t :: b) (t :: a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FlipSym0 t) t) t :: c)
  • type family AsTypeOf (a :: a) (a :: a) :: a where ...
  • sAsTypeOf :: forall a (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply AsTypeOfSym0 t) t :: a)
  • type family Seq (a :: a) (a :: b) :: b where ...
  • sSeq :: forall a b (t :: a) (t :: b). Sing t -> Sing t -> Sing (Apply (Apply SeqSym0 t) t :: b)
  • type family Map (a :: (~>) a b) (a :: [a]) :: [b] where ...
  • sMap :: forall a b (t :: (~>) a b) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply MapSym0 t) t :: [b])
  • type family (a :: [a]) ++ (a :: [a]) :: [a] where ...
  • (%++) :: forall a (t :: [a]) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply (++@#@$) t) t :: [a])
  • type family Filter (a :: (~>) a Bool) (a :: [a]) :: [a] where ...
  • sFilter :: forall a (t :: (~>) a Bool) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply FilterSym0 t) t :: [a])
  • type family Head (a :: [a]) :: a where ...
  • sHead :: forall a (t :: [a]). Sing t -> Sing (Apply HeadSym0 t :: a)
  • type family Last (a :: [a]) :: a where ...
  • sLast :: forall a (t :: [a]). Sing t -> Sing (Apply LastSym0 t :: a)
  • type family Tail (a :: [a]) :: [a] where ...
  • sTail :: forall a (t :: [a]). Sing t -> Sing (Apply TailSym0 t :: [a])
  • type family Init (a :: [a]) :: [a] where ...
  • sInit :: forall a (t :: [a]). Sing t -> Sing (Apply InitSym0 t :: [a])
  • type family Null (arg :: t a) :: Bool
  • sNull :: forall a (t :: t a). SFoldable t => Sing t -> Sing (Apply NullSym0 t :: Bool)
  • type family Reverse (a :: [a]) :: [a] where ...
  • sReverse :: forall a (t :: [a]). Sing t -> Sing (Apply ReverseSym0 t :: [a])
  • type family And (a :: t Bool) :: Bool where ...
  • sAnd :: forall t (t :: t Bool). SFoldable t => Sing t -> Sing (Apply AndSym0 t :: Bool)
  • type family Or (a :: t Bool) :: Bool where ...
  • sOr :: forall t (t :: t Bool). SFoldable t => Sing t -> Sing (Apply OrSym0 t :: Bool)
  • type family Any (a :: (~>) a Bool) (a :: t a) :: Bool where ...
  • sAny :: forall t a (t :: (~>) a Bool) (t :: t a). SFoldable t => Sing t -> Sing t -> Sing (Apply (Apply AnySym0 t) t :: Bool)
  • type family All (a :: (~>) a Bool) (a :: t a) :: Bool where ...
  • sAll :: forall t a (t :: (~>) a Bool) (t :: t a). SFoldable t => Sing t -> Sing t -> Sing (Apply (Apply AllSym0 t) t :: Bool)
  • type family Concat (a :: t [a]) :: [a] where ...
  • sConcat :: forall t a (t :: t [a]). SFoldable t => Sing t -> Sing (Apply ConcatSym0 t :: [a])
  • type family ConcatMap (a :: (~>) a [b]) (a :: t a) :: [b] where ...
  • sConcatMap :: forall t a b (t :: (~>) a [b]) (t :: t a). SFoldable t => Sing t -> Sing t -> Sing (Apply (Apply ConcatMapSym0 t) t :: [b])
  • type family Scanl (a :: (~>) b ((~>) a b)) (a :: b) (a :: [a]) :: [b] where ...
  • sScanl :: forall b a (t :: (~>) b ((~>) a b)) (t :: b) (t :: [a]). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ScanlSym0 t) t) t :: [b])
  • type family Scanl1 (a :: (~>) a ((~>) a a)) (a :: [a]) :: [a] where ...
  • sScanl1 :: forall a (t :: (~>) a ((~>) a a)) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply Scanl1Sym0 t) t :: [a])
  • type family Scanr (a :: (~>) a ((~>) b b)) (a :: b) (a :: [a]) :: [b] where ...
  • sScanr :: forall a b (t :: (~>) a ((~>) b b)) (t :: b) (t :: [a]). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ScanrSym0 t) t) t :: [b])
  • type family Scanr1 (a :: (~>) a ((~>) a a)) (a :: [a]) :: [a] where ...
  • sScanr1 :: forall a (t :: (~>) a ((~>) a a)) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply Scanr1Sym0 t) t :: [a])
  • type family Replicate (a :: Nat) (a :: a) :: [a] where ...
  • sReplicate :: forall a (t :: Nat) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply ReplicateSym0 t) t :: [a])
  • type family Take (a :: Nat) (a :: [a]) :: [a] where ...
  • sTake :: forall a (t :: Nat) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply TakeSym0 t) t :: [a])
  • type family Drop (a :: Nat) (a :: [a]) :: [a] where ...
  • sDrop :: forall a (t :: Nat) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply DropSym0 t) t :: [a])
  • type family SplitAt (a :: Nat) (a :: [a]) :: ([a], [a]) where ...
  • sSplitAt :: forall a (t :: Nat) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply SplitAtSym0 t) t :: ([a], [a]))
  • type family TakeWhile (a :: (~>) a Bool) (a :: [a]) :: [a] where ...
  • sTakeWhile :: forall a (t :: (~>) a Bool) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply TakeWhileSym0 t) t :: [a])
  • type family Span (a :: (~>) a Bool) (a :: [a]) :: ([a], [a]) where ...
  • sSpan :: forall a (t :: (~>) a Bool) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply SpanSym0 t) t :: ([a], [a]))
  • type family Break (a :: (~>) a Bool) (a :: [a]) :: ([a], [a]) where ...
  • sBreak :: forall a (t :: (~>) a Bool) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply BreakSym0 t) t :: ([a], [a]))
  • type family NotElem (a :: a) (a :: t a) :: Bool where ...
  • sNotElem :: forall t a (t :: a) (t :: t a). (SFoldable t, SEq a) => Sing t -> Sing t -> Sing (Apply (Apply NotElemSym0 t) t :: Bool)
  • type family Lookup (a :: a) (a :: [(a, b)]) :: Maybe b where ...
  • sLookup :: forall a b (t :: a) (t :: [(a, b)]). SEq a => Sing t -> Sing t -> Sing (Apply (Apply LookupSym0 t) t :: Maybe b)
  • type family Zip (a :: [a]) (a :: [b]) :: [(a, b)] where ...
  • sZip :: forall a b (t :: [a]) (t :: [b]). Sing t -> Sing t -> Sing (Apply (Apply ZipSym0 t) t :: [(a, b)])
  • type family Zip3 (a :: [a]) (a :: [b]) (a :: [c]) :: [(a, b, c)] where ...
  • sZip3 :: forall a b c (t :: [a]) (t :: [b]) (t :: [c]). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Zip3Sym0 t) t) t :: [(a, b, c)])
  • type family ZipWith (a :: (~>) a ((~>) b c)) (a :: [a]) (a :: [b]) :: [c] where ...
  • sZipWith :: forall a b c (t :: (~>) a ((~>) b c)) (t :: [a]) (t :: [b]). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ZipWithSym0 t) t) t :: [c])
  • type family ZipWith3 (a :: (~>) a ((~>) b ((~>) c d))) (a :: [a]) (a :: [b]) (a :: [c]) :: [d] where ...
  • sZipWith3 :: forall a b c d (t :: (~>) a ((~>) b ((~>) c d))) (t :: [a]) (t :: [b]) (t :: [c]). Sing t -> Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply (Apply ZipWith3Sym0 t) t) t) t :: [d])
  • type family Unzip (a :: [(a, b)]) :: ([a], [b]) where ...
  • sUnzip :: forall a b (t :: [(a, b)]). Sing t -> Sing (Apply UnzipSym0 t :: ([a], [b]))
  • type family Unzip3 (a :: [(a, b, c)]) :: ([a], [b], [c]) where ...
  • sUnzip3 :: forall a b c (t :: [(a, b, c)]). Sing t -> Sing (Apply Unzip3Sym0 t :: ([a], [b], [c]))
  • type family Unlines (a :: [Symbol]) :: Symbol where ...
  • sUnlines :: forall (t :: [Symbol]). Sing t -> Sing (Apply UnlinesSym0 t :: Symbol)
  • type family Unwords (a :: [Symbol]) :: Symbol where ...
  • sUnwords :: forall (t :: [Symbol]). Sing t -> Sing (Apply UnwordsSym0 t :: Symbol)
  • type family Maybe_ (a :: b) (a :: (~>) a b) (a :: Maybe a) :: b where ...
  • sMaybe_ :: forall b a (t :: b) (t :: (~>) a b) (t :: Maybe a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Maybe_Sym0 t) t) t :: b)
  • type family Either_ (a :: (~>) a c) (a :: (~>) b c) (a :: Either a b) :: c where ...
  • sEither_ :: forall a c b (t :: (~>) a c) (t :: (~>) b c) (t :: Either a b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Either_Sym0 t) t) t :: c)
  • type family Fst (a :: (a, b)) :: a where ...
  • sFst :: forall a b (t :: (a, b)). Sing t -> Sing (Apply FstSym0 t :: a)
  • type family Snd (a :: (a, b)) :: b where ...
  • sSnd :: forall a b (t :: (a, b)). Sing t -> Sing (Apply SndSym0 t :: b)
  • type family Curry (a :: (~>) (a, b) c) (a :: a) (a :: b) :: c where ...
  • sCurry :: forall a b c (t :: (~>) (a, b) c) (t :: a) (t :: b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply CurrySym0 t) t) t :: c)
  • type family Uncurry (a :: (~>) a ((~>) b c)) (a :: (a, b)) :: c where ...
  • sUncurry :: forall a b c (t :: (~>) a ((~>) b c)) (t :: (a, b)). Sing t -> Sing t -> Sing (Apply (Apply UncurrySym0 t) t :: c)
  • data Symbol
  • either_ :: (a -> c) -> (b -> c) -> Either a b -> c
  • maybe_ :: b -> (a -> b) -> Maybe a -> b
  • bool_ :: a -> a -> Bool -> a
  • show_ :: Show a => a -> String
  • type FalseSym0 = False
  • type TrueSym0 = True
  • data NotSym0 :: (~>) Bool Bool
  • type NotSym1 (a6989586621679356688 :: Bool) = Not a6989586621679356688
  • data (&&@#@$) :: (~>) Bool ((~>) Bool Bool)
  • data (&&@#@$$) (a6989586621679356147 :: Bool) :: (~>) Bool Bool
  • type (&&@#@$$$) (a6989586621679356147 :: Bool) (b6989586621679356148 :: Bool) = (&&) a6989586621679356147 b6989586621679356148
  • data (||@#@$) :: (~>) Bool ((~>) Bool Bool)
  • data (||@#@$$) (a6989586621679356388 :: Bool) :: (~>) Bool Bool
  • type (||@#@$$$) (a6989586621679356388 :: Bool) (b6989586621679356389 :: Bool) = (||) a6989586621679356388 b6989586621679356389
  • type OtherwiseSym0 = Otherwise
  • type NothingSym0 = Nothing
  • data JustSym0 :: forall (a3530822107858468865 :: Type). (~>) a3530822107858468865 (Maybe (a3530822107858468865 :: Type))
  • type JustSym1 (t6989586621679291637 :: a3530822107858468865) = Just t6989586621679291637
  • data Maybe_Sym0 :: forall a6989586621679485232 b6989586621679485231. (~>) b6989586621679485231 ((~>) ((~>) a6989586621679485232 b6989586621679485231) ((~>) (Maybe a6989586621679485232) b6989586621679485231))
  • data Maybe_Sym1 (a6989586621679485249 :: b6989586621679485231) :: forall a6989586621679485232. (~>) ((~>) a6989586621679485232 b6989586621679485231) ((~>) (Maybe a6989586621679485232) b6989586621679485231)
  • data Maybe_Sym2 (a6989586621679485249 :: b6989586621679485231) (a6989586621679485250 :: (~>) a6989586621679485232 b6989586621679485231) :: (~>) (Maybe a6989586621679485232) b6989586621679485231
  • type Maybe_Sym3 (a6989586621679485249 :: b6989586621679485231) (a6989586621679485250 :: (~>) a6989586621679485232 b6989586621679485231) (a6989586621679485251 :: Maybe a6989586621679485232) = Maybe_ a6989586621679485249 a6989586621679485250 a6989586621679485251
  • data LeftSym0 :: forall (a6989586621679082630 :: Type) (b6989586621679082631 :: Type). (~>) a6989586621679082630 (Either (a6989586621679082630 :: Type) (b6989586621679082631 :: Type))
  • type LeftSym1 (t6989586621679291704 :: a6989586621679082630) = Left t6989586621679291704
  • data RightSym0 :: forall (a6989586621679082630 :: Type) (b6989586621679082631 :: Type). (~>) b6989586621679082631 (Either (a6989586621679082630 :: Type) (b6989586621679082631 :: Type))
  • type RightSym1 (t6989586621679291706 :: b6989586621679082631) = Right t6989586621679291706
  • data Either_Sym0 :: forall a6989586621680418502 b6989586621680418504 c6989586621680418503. (~>) ((~>) a6989586621680418502 c6989586621680418503) ((~>) ((~>) b6989586621680418504 c6989586621680418503) ((~>) (Either a6989586621680418502 b6989586621680418504) c6989586621680418503))
  • data Either_Sym1 (a6989586621680418538 :: (~>) a6989586621680418502 c6989586621680418503) :: forall b6989586621680418504. (~>) ((~>) b6989586621680418504 c6989586621680418503) ((~>) (Either a6989586621680418502 b6989586621680418504) c6989586621680418503)
  • data Either_Sym2 (a6989586621680418538 :: (~>) a6989586621680418502 c6989586621680418503) (a6989586621680418539 :: (~>) b6989586621680418504 c6989586621680418503) :: (~>) (Either a6989586621680418502 b6989586621680418504) c6989586621680418503
  • type Either_Sym3 (a6989586621680418538 :: (~>) a6989586621680418502 c6989586621680418503) (a6989586621680418539 :: (~>) b6989586621680418504 c6989586621680418503) (a6989586621680418540 :: Either a6989586621680418502 b6989586621680418504) = Either_ a6989586621680418538 a6989586621680418539 a6989586621680418540
  • type Tuple0Sym0 = '()
  • data Tuple2Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type)))
  • data Tuple2Sym1 (t6989586621679291753 :: (a3530822107858468865 :: Type)) :: forall (b3530822107858468866 :: Type). (~>) b3530822107858468866 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type))
  • type Tuple2Sym2 (t6989586621679291753 :: a3530822107858468865) (t6989586621679291754 :: b3530822107858468866) = '(t6989586621679291753, t6989586621679291754)
  • data Tuple3Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type) (c3530822107858468867 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 ((~>) c3530822107858468867 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type))))
  • data Tuple3Sym1 (t6989586621679291784 :: (a3530822107858468865 :: Type)) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type)))
  • data Tuple3Sym2 (t6989586621679291784 :: (a3530822107858468865 :: Type)) (t6989586621679291785 :: (b3530822107858468866 :: Type)) :: forall (c3530822107858468867 :: Type). (~>) c3530822107858468867 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type))
  • type Tuple3Sym3 (t6989586621679291784 :: a3530822107858468865) (t6989586621679291785 :: b3530822107858468866) (t6989586621679291786 :: c3530822107858468867) = '(t6989586621679291784, t6989586621679291785, t6989586621679291786)
  • data Tuple4Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type)))))
  • data Tuple4Sym1 (t6989586621679291831 :: (a3530822107858468865 :: Type)) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type))))
  • data Tuple4Sym2 (t6989586621679291831 :: (a3530822107858468865 :: Type)) (t6989586621679291832 :: (b3530822107858468866 :: Type)) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type)))
  • data Tuple4Sym3 (t6989586621679291831 :: (a3530822107858468865 :: Type)) (t6989586621679291832 :: (b3530822107858468866 :: Type)) (t6989586621679291833 :: (c3530822107858468867 :: Type)) :: forall (d3530822107858468868 :: Type). (~>) d3530822107858468868 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type))
  • type Tuple4Sym4 (t6989586621679291831 :: a3530822107858468865) (t6989586621679291832 :: b3530822107858468866) (t6989586621679291833 :: c3530822107858468867) (t6989586621679291834 :: d3530822107858468868) = '(t6989586621679291831, t6989586621679291832, t6989586621679291833, t6989586621679291834)
  • data Tuple5Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type))))))
  • data Tuple5Sym1 (t6989586621679291896 :: (a3530822107858468865 :: Type)) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type)))))
  • data Tuple5Sym2 (t6989586621679291896 :: (a3530822107858468865 :: Type)) (t6989586621679291897 :: (b3530822107858468866 :: Type)) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type))))
  • data Tuple5Sym3 (t6989586621679291896 :: (a3530822107858468865 :: Type)) (t6989586621679291897 :: (b3530822107858468866 :: Type)) (t6989586621679291898 :: (c3530822107858468867 :: Type)) :: forall (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) d3530822107858468868 ((~>) e3530822107858468869 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type)))
  • data Tuple5Sym4 (t6989586621679291896 :: (a3530822107858468865 :: Type)) (t6989586621679291897 :: (b3530822107858468866 :: Type)) (t6989586621679291898 :: (c3530822107858468867 :: Type)) (t6989586621679291899 :: (d3530822107858468868 :: Type)) :: forall (e3530822107858468869 :: Type). (~>) e3530822107858468869 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type))
  • type Tuple5Sym5 (t6989586621679291896 :: a3530822107858468865) (t6989586621679291897 :: b3530822107858468866) (t6989586621679291898 :: c3530822107858468867) (t6989586621679291899 :: d3530822107858468868) (t6989586621679291900 :: e3530822107858468869) = '(t6989586621679291896, t6989586621679291897, t6989586621679291898, t6989586621679291899, t6989586621679291900)
  • data Tuple6Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type) (f3530822107858468870 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((~>) f3530822107858468870 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type)))))))
  • data Tuple6Sym1 (t6989586621679291981 :: (a3530822107858468865 :: Type)) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type) (f3530822107858468870 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((~>) f3530822107858468870 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type))))))
  • data Tuple6Sym2 (t6989586621679291981 :: (a3530822107858468865 :: Type)) (t6989586621679291982 :: (b3530822107858468866 :: Type)) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type) (f3530822107858468870 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((~>) f3530822107858468870 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type)))))
  • data Tuple6Sym3 (t6989586621679291981 :: (a3530822107858468865 :: Type)) (t6989586621679291982 :: (b3530822107858468866 :: Type)) (t6989586621679291983 :: (c3530822107858468867 :: Type)) :: forall (d3530822107858468868 :: Type) (e3530822107858468869 :: Type) (f3530822107858468870 :: Type). (~>) d3530822107858468868 ((~>) e3530822107858468869 ((~>) f3530822107858468870 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type))))
  • data Tuple6Sym4 (t6989586621679291981 :: (a3530822107858468865 :: Type)) (t6989586621679291982 :: (b3530822107858468866 :: Type)) (t6989586621679291983 :: (c3530822107858468867 :: Type)) (t6989586621679291984 :: (d3530822107858468868 :: Type)) :: forall (e3530822107858468869 :: Type) (f3530822107858468870 :: Type). (~>) e3530822107858468869 ((~>) f3530822107858468870 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type)))
  • data Tuple6Sym5 (t6989586621679291981 :: (a3530822107858468865 :: Type)) (t6989586621679291982 :: (b3530822107858468866 :: Type)) (t6989586621679291983 :: (c3530822107858468867 :: Type)) (t6989586621679291984 :: (d3530822107858468868 :: Type)) (t6989586621679291985 :: (e3530822107858468869 :: Type)) :: forall (f3530822107858468870 :: Type). (~>) f3530822107858468870 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type))
  • type Tuple6Sym6 (t6989586621679291981 :: a3530822107858468865) (t6989586621679291982 :: b3530822107858468866) (t6989586621679291983 :: c3530822107858468867) (t6989586621679291984 :: d3530822107858468868) (t6989586621679291985 :: e3530822107858468869) (t6989586621679291986 :: f3530822107858468870) = '(t6989586621679291981, t6989586621679291982, t6989586621679291983, t6989586621679291984, t6989586621679291985, t6989586621679291986)
  • data Tuple7Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type) (f3530822107858468870 :: Type) (g3530822107858468871 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((~>) f3530822107858468870 ((~>) g3530822107858468871 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type), (g3530822107858468871 :: Type))))))))
  • data Tuple7Sym1 (t6989586621679292088 :: (a3530822107858468865 :: Type)) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type) (f3530822107858468870 :: Type) (g3530822107858468871 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((~>) f3530822107858468870 ((~>) g3530822107858468871 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type), (g3530822107858468871 :: Type)))))))
  • data Tuple7Sym2 (t6989586621679292088 :: (a3530822107858468865 :: Type)) (t6989586621679292089 :: (b3530822107858468866 :: Type)) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type) (f3530822107858468870 :: Type) (g3530822107858468871 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((~>) f3530822107858468870 ((~>) g3530822107858468871 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type), (g3530822107858468871 :: Type))))))
  • data Tuple7Sym3 (t6989586621679292088 :: (a3530822107858468865 :: Type)) (t6989586621679292089 :: (b3530822107858468866 :: Type)) (t6989586621679292090 :: (c3530822107858468867 :: Type)) :: forall (d3530822107858468868 :: Type) (e3530822107858468869 :: Type) (f3530822107858468870 :: Type) (g3530822107858468871 :: Type). (~>) d3530822107858468868 ((~>) e3530822107858468869 ((~>) f3530822107858468870 ((~>) g3530822107858468871 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type), (g3530822107858468871 :: Type)))))
  • data Tuple7Sym4 (t6989586621679292088 :: (a3530822107858468865 :: Type)) (t6989586621679292089 :: (b3530822107858468866 :: Type)) (t6989586621679292090 :: (c3530822107858468867 :: Type)) (t6989586621679292091 :: (d3530822107858468868 :: Type)) :: forall (e3530822107858468869 :: Type) (f3530822107858468870 :: Type) (g3530822107858468871 :: Type). (~>) e3530822107858468869 ((~>) f3530822107858468870 ((~>) g3530822107858468871 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type), (g3530822107858468871 :: Type))))
  • data Tuple7Sym5 (t6989586621679292088 :: (a3530822107858468865 :: Type)) (t6989586621679292089 :: (b3530822107858468866 :: Type)) (t6989586621679292090 :: (c3530822107858468867 :: Type)) (t6989586621679292091 :: (d3530822107858468868 :: Type)) (t6989586621679292092 :: (e3530822107858468869 :: Type)) :: forall (f3530822107858468870 :: Type) (g3530822107858468871 :: Type). (~>) f3530822107858468870 ((~>) g3530822107858468871 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type), (g3530822107858468871 :: Type)))
  • data Tuple7Sym6 (t6989586621679292088 :: (a3530822107858468865 :: Type)) (t6989586621679292089 :: (b3530822107858468866 :: Type)) (t6989586621679292090 :: (c3530822107858468867 :: Type)) (t6989586621679292091 :: (d3530822107858468868 :: Type)) (t6989586621679292092 :: (e3530822107858468869 :: Type)) (t6989586621679292093 :: (f3530822107858468870 :: Type)) :: forall (g3530822107858468871 :: Type). (~>) g3530822107858468871 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type), (g3530822107858468871 :: Type))
  • type Tuple7Sym7 (t6989586621679292088 :: a3530822107858468865) (t6989586621679292089 :: b3530822107858468866) (t6989586621679292090 :: c3530822107858468867) (t6989586621679292091 :: d3530822107858468868) (t6989586621679292092 :: e3530822107858468869) (t6989586621679292093 :: f3530822107858468870) (t6989586621679292094 :: g3530822107858468871) = '(t6989586621679292088, t6989586621679292089, t6989586621679292090, t6989586621679292091, t6989586621679292092, t6989586621679292093, t6989586621679292094)
  • data FstSym0 :: forall a6989586621679348849 b6989586621679348850. (~>) (a6989586621679348849, b6989586621679348850) a6989586621679348849
  • type FstSym1 (a6989586621679348945 :: (a6989586621679348849, b6989586621679348850)) = Fst a6989586621679348945
  • data SndSym0 :: forall a6989586621679348847 b6989586621679348848. (~>) (a6989586621679348847, b6989586621679348848) b6989586621679348848
  • type SndSym1 (a6989586621679348942 :: (a6989586621679348847, b6989586621679348848)) = Snd a6989586621679348942
  • data CurrySym0 :: forall a6989586621679348844 b6989586621679348845 c6989586621679348846. (~>) ((~>) (a6989586621679348844, b6989586621679348845) c6989586621679348846) ((~>) a6989586621679348844 ((~>) b6989586621679348845 c6989586621679348846))
  • data CurrySym1 (a6989586621679348933 :: (~>) (a6989586621679348844, b6989586621679348845) c6989586621679348846) :: (~>) a6989586621679348844 ((~>) b6989586621679348845 c6989586621679348846)
  • data CurrySym2 (a6989586621679348933 :: (~>) (a6989586621679348844, b6989586621679348845) c6989586621679348846) (a6989586621679348934 :: a6989586621679348844) :: (~>) b6989586621679348845 c6989586621679348846
  • type CurrySym3 (a6989586621679348933 :: (~>) (a6989586621679348844, b6989586621679348845) c6989586621679348846) (a6989586621679348934 :: a6989586621679348844) (a6989586621679348935 :: b6989586621679348845) = Curry a6989586621679348933 a6989586621679348934 a6989586621679348935
  • data UncurrySym0 :: forall a6989586621679348841 b6989586621679348842 c6989586621679348843. (~>) ((~>) a6989586621679348841 ((~>) b6989586621679348842 c6989586621679348843)) ((~>) (a6989586621679348841, b6989586621679348842) c6989586621679348843)
  • data UncurrySym1 (a6989586621679348948 :: (~>) a6989586621679348841 ((~>) b6989586621679348842 c6989586621679348843)) :: (~>) (a6989586621679348841, b6989586621679348842) c6989586621679348843
  • type UncurrySym2 (a6989586621679348948 :: (~>) a6989586621679348841 ((~>) b6989586621679348842 c6989586621679348843)) (a6989586621679348949 :: (a6989586621679348841, b6989586621679348842)) = Uncurry a6989586621679348948 a6989586621679348949
  • data ErrorSym0 :: forall k06989586621679458997 k6989586621679458996. (~>) k06989586621679458997 k6989586621679458996
  • type ErrorSym1 (str6989586621679458998 :: k06989586621679458997) = Error str6989586621679458998
  • data ErrorWithoutStackTraceSym0 :: forall k06989586621679460047 k6989586621679460046. (~>) k06989586621679460047 k6989586621679460046
  • type ErrorWithoutStackTraceSym1 (str6989586621679460048 :: k06989586621679460047) = ErrorWithoutStackTrace str6989586621679460048
  • type UndefinedSym0 = Undefined
  • type LTSym0 = LT
  • type EQSym0 = EQ
  • type GTSym0 = GT
  • data CompareSym0 :: forall a6989586621679373532. (~>) a6989586621679373532 ((~>) a6989586621679373532 Ordering)
  • data CompareSym1 (arg6989586621679373626 :: a6989586621679373532) :: (~>) a6989586621679373532 Ordering
  • type CompareSym2 (arg6989586621679373626 :: a6989586621679373532) (arg6989586621679373627 :: a6989586621679373532) = Compare arg6989586621679373626 arg6989586621679373627
  • data (<@#@$) :: forall a6989586621679373532. (~>) a6989586621679373532 ((~>) a6989586621679373532 Bool)
  • data (<@#@$$) (arg6989586621679373630 :: a6989586621679373532) :: (~>) a6989586621679373532 Bool
  • type (<@#@$$$) (arg6989586621679373630 :: a6989586621679373532) (arg6989586621679373631 :: a6989586621679373532) = (<) arg6989586621679373630 arg6989586621679373631
  • data (<=@#@$) :: forall a6989586621679373532. (~>) a6989586621679373532 ((~>) a6989586621679373532 Bool)
  • data (<=@#@$$) (arg6989586621679373634 :: a6989586621679373532) :: (~>) a6989586621679373532 Bool
  • type (<=@#@$$$) (arg6989586621679373634 :: a6989586621679373532) (arg6989586621679373635 :: a6989586621679373532) = (<=) arg6989586621679373634 arg6989586621679373635
  • data (>@#@$) :: forall a6989586621679373532. (~>) a6989586621679373532 ((~>) a6989586621679373532 Bool)
  • data (>@#@$$) (arg6989586621679373638 :: a6989586621679373532) :: (~>) a6989586621679373532 Bool
  • type (>@#@$$$) (arg6989586621679373638 :: a6989586621679373532) (arg6989586621679373639 :: a6989586621679373532) = (>) arg6989586621679373638 arg6989586621679373639
  • data (>=@#@$) :: forall a6989586621679373532. (~>) a6989586621679373532 ((~>) a6989586621679373532 Bool)
  • data (>=@#@$$) (arg6989586621679373642 :: a6989586621679373532) :: (~>) a6989586621679373532 Bool
  • type (>=@#@$$$) (arg6989586621679373642 :: a6989586621679373532) (arg6989586621679373643 :: a6989586621679373532) = (>=) arg6989586621679373642 arg6989586621679373643
  • data MaxSym0 :: forall a6989586621679373532. (~>) a6989586621679373532 ((~>) a6989586621679373532 a6989586621679373532)
  • data MaxSym1 (arg6989586621679373646 :: a6989586621679373532) :: (~>) a6989586621679373532 a6989586621679373532
  • type MaxSym2 (arg6989586621679373646 :: a6989586621679373532) (arg6989586621679373647 :: a6989586621679373532) = Max arg6989586621679373646 arg6989586621679373647
  • data MinSym0 :: forall a6989586621679373532. (~>) a6989586621679373532 ((~>) a6989586621679373532 a6989586621679373532)
  • data MinSym1 (arg6989586621679373650 :: a6989586621679373532) :: (~>) a6989586621679373532 a6989586621679373532
  • type MinSym2 (arg6989586621679373650 :: a6989586621679373532) (arg6989586621679373651 :: a6989586621679373532) = Min arg6989586621679373650 arg6989586621679373651
  • data (^@#@$) :: (~>) Nat ((~>) Nat Nat)
  • data (^@#@$$) (a3530822107858468865 :: Nat) :: (~>) Nat Nat
  • type (^@#@$$$) (a3530822107858468865 :: Nat) (b3530822107858468866 :: Nat) = (^) a3530822107858468865 b3530822107858468866
  • data ShowsPrecSym0 :: forall a6989586621680248665. (~>) Nat ((~>) a6989586621680248665 ((~>) Symbol Symbol))
  • data ShowsPrecSym1 (arg6989586621680250615 :: Nat) :: forall a6989586621680248665. (~>) a6989586621680248665 ((~>) Symbol Symbol)
  • data ShowsPrecSym2 (arg6989586621680250615 :: Nat) (arg6989586621680250616 :: a6989586621680248665) :: (~>) Symbol Symbol
  • type ShowsPrecSym3 (arg6989586621680250615 :: Nat) (arg6989586621680250616 :: a6989586621680248665) (arg6989586621680250617 :: Symbol) = ShowsPrec arg6989586621680250615 arg6989586621680250616 arg6989586621680250617
  • data Show_Sym0 :: forall a6989586621680248665. (~>) a6989586621680248665 Symbol
  • type Show_Sym1 (arg6989586621680250621 :: a6989586621680248665) = Show_ arg6989586621680250621
  • data ShowListSym0 :: forall a6989586621680248665. (~>) [a6989586621680248665] ((~>) Symbol Symbol)
  • data ShowListSym1 (arg6989586621680250623 :: [a6989586621680248665]) :: (~>) Symbol Symbol
  • type ShowListSym2 (arg6989586621680250623 :: [a6989586621680248665]) (arg6989586621680250624 :: Symbol) = ShowList arg6989586621680250623 arg6989586621680250624
  • data ShowsSym0 :: forall a6989586621680248650. (~>) a6989586621680248650 ((~>) Symbol Symbol)
  • data ShowsSym1 (a6989586621680250607 :: a6989586621680248650) :: (~>) Symbol Symbol
  • type ShowsSym2 (a6989586621680250607 :: a6989586621680248650) (a6989586621680250608 :: Symbol) = Shows a6989586621680250607 a6989586621680250608
  • data ShowCharSym0 :: (~>) Symbol ((~>) Symbol Symbol)
  • data ShowCharSym1 (a6989586621680250549 :: Symbol) :: (~>) Symbol Symbol
  • type ShowCharSym2 (a6989586621680250549 :: Symbol) (a6989586621680250550 :: Symbol) = ShowChar a6989586621680250549 a6989586621680250550
  • data ShowStringSym0 :: (~>) Symbol ((~>) Symbol Symbol)
  • data ShowStringSym1 (a6989586621680250534 :: Symbol) :: (~>) Symbol Symbol
  • type ShowStringSym2 (a6989586621680250534 :: Symbol) (a6989586621680250535 :: Symbol) = ShowString a6989586621680250534 a6989586621680250535
  • data ShowParenSym0 :: (~>) Bool ((~>) ((~>) Symbol Symbol) ((~>) Symbol Symbol))
  • data ShowParenSym1 (a6989586621680250555 :: Bool) :: (~>) ((~>) Symbol Symbol) ((~>) Symbol Symbol)
  • data ShowParenSym2 (a6989586621680250555 :: Bool) (a6989586621680250556 :: (~>) Symbol Symbol) :: (~>) Symbol Symbol
  • data (<>@#@$) :: forall a6989586621679800518. (~>) a6989586621679800518 ((~>) a6989586621679800518 a6989586621679800518)
  • data (<>@#@$$) (arg6989586621679801003 :: a6989586621679800518) :: (~>) a6989586621679800518 a6989586621679800518
  • type (<>@#@$$$) (arg6989586621679801003 :: a6989586621679800518) (arg6989586621679801004 :: a6989586621679800518) = (<>) arg6989586621679801003 arg6989586621679801004
  • type MemptySym0 = Mempty
  • data MappendSym0 :: forall a6989586621680316690. (~>) a6989586621680316690 ((~>) a6989586621680316690 a6989586621680316690)
  • data MappendSym1 (arg6989586621680317075 :: a6989586621680316690) :: (~>) a6989586621680316690 a6989586621680316690
  • type MappendSym2 (arg6989586621680317075 :: a6989586621680316690) (arg6989586621680317076 :: a6989586621680316690) = Mappend arg6989586621680317075 arg6989586621680317076
  • data MconcatSym0 :: forall a6989586621680316690. (~>) [a6989586621680316690] a6989586621680316690
  • type MconcatSym1 (arg6989586621680317079 :: [a6989586621680316690]) = Mconcat arg6989586621680317079
  • data FmapSym0 :: forall a6989586621679536044 b6989586621679536045 f6989586621679536043. (~>) ((~>) a6989586621679536044 b6989586621679536045) ((~>) (f6989586621679536043 a6989586621679536044) (f6989586621679536043 b6989586621679536045))
  • data FmapSym1 (arg6989586621679536437 :: (~>) a6989586621679536044 b6989586621679536045) :: forall f6989586621679536043. (~>) (f6989586621679536043 a6989586621679536044) (f6989586621679536043 b6989586621679536045)
  • type FmapSym2 (arg6989586621679536437 :: (~>) a6989586621679536044 b6989586621679536045) (arg6989586621679536438 :: f6989586621679536043 a6989586621679536044) = Fmap arg6989586621679536437 arg6989586621679536438
  • data (<$@#@$) :: forall a6989586621679536046 b6989586621679536047 f6989586621679536043. (~>) a6989586621679536046 ((~>) (f6989586621679536043 b6989586621679536047) (f6989586621679536043 a6989586621679536046))
  • data (<$@#@$$) (arg6989586621679536441 :: a6989586621679536046) :: forall b6989586621679536047 f6989586621679536043. (~>) (f6989586621679536043 b6989586621679536047) (f6989586621679536043 a6989586621679536046)
  • type (<$@#@$$$) (arg6989586621679536441 :: a6989586621679536046) (arg6989586621679536442 :: f6989586621679536043 b6989586621679536047) = (<$) arg6989586621679536441 arg6989586621679536442
  • data (<$>@#@$) :: forall a6989586621679705379 b6989586621679705380 f6989586621679705378. (~>) ((~>) a6989586621679705379 b6989586621679705380) ((~>) (f6989586621679705378 a6989586621679705379) (f6989586621679705378 b6989586621679705380))
  • data (<$>@#@$$) (a6989586621679705459 :: (~>) a6989586621679705379 b6989586621679705380) :: forall f6989586621679705378. (~>) (f6989586621679705378 a6989586621679705379) (f6989586621679705378 b6989586621679705380)
  • type (<$>@#@$$$) (a6989586621679705459 :: (~>) a6989586621679705379 b6989586621679705380) (a6989586621679705460 :: f6989586621679705378 a6989586621679705379) = (<$>) a6989586621679705459 a6989586621679705460
  • data PureSym0 :: forall a6989586621679536049 f6989586621679536048. (~>) a6989586621679536049 (f6989586621679536048 a6989586621679536049)
  • type PureSym1 (arg6989586621679536461 :: a6989586621679536049) = Pure arg6989586621679536461
  • data (<*>@#@$) :: forall a6989586621679536050 b6989586621679536051 f6989586621679536048. (~>) (f6989586621679536048 ((~>) a6989586621679536050 b6989586621679536051)) ((~>) (f6989586621679536048 a6989586621679536050) (f6989586621679536048 b6989586621679536051))
  • data (<*>@#@$$) (arg6989586621679536463 :: f6989586621679536048 ((~>) a6989586621679536050 b6989586621679536051)) :: (~>) (f6989586621679536048 a6989586621679536050) (f6989586621679536048 b6989586621679536051)
  • type (<*>@#@$$$) (arg6989586621679536463 :: f6989586621679536048 ((~>) a6989586621679536050 b6989586621679536051)) (arg6989586621679536464 :: f6989586621679536048 a6989586621679536050) = (<*>) arg6989586621679536463 arg6989586621679536464
  • data (*>@#@$) :: forall a6989586621679536055 b6989586621679536056 f6989586621679536048. (~>) (f6989586621679536048 a6989586621679536055) ((~>) (f6989586621679536048 b6989586621679536056) (f6989586621679536048 b6989586621679536056))
  • data (*>@#@$$) (arg6989586621679536473 :: f6989586621679536048 a6989586621679536055) :: forall b6989586621679536056. (~>) (f6989586621679536048 b6989586621679536056) (f6989586621679536048 b6989586621679536056)
  • type (*>@#@$$$) (arg6989586621679536473 :: f6989586621679536048 a6989586621679536055) (arg6989586621679536474 :: f6989586621679536048 b6989586621679536056) = (*>) arg6989586621679536473 arg6989586621679536474
  • data (<*@#@$) :: forall a6989586621679536057 b6989586621679536058 f6989586621679536048. (~>) (f6989586621679536048 a6989586621679536057) ((~>) (f6989586621679536048 b6989586621679536058) (f6989586621679536048 a6989586621679536057))
  • data (<*@#@$$) (arg6989586621679536477 :: f6989586621679536048 a6989586621679536057) :: forall b6989586621679536058. (~>) (f6989586621679536048 b6989586621679536058) (f6989586621679536048 a6989586621679536057)
  • type (<*@#@$$$) (arg6989586621679536477 :: f6989586621679536048 a6989586621679536057) (arg6989586621679536478 :: f6989586621679536048 b6989586621679536058) = (<*) arg6989586621679536477 arg6989586621679536478
  • data (>>=@#@$) :: forall a6989586621679536073 b6989586621679536074 m6989586621679536072. (~>) (m6989586621679536072 a6989586621679536073) ((~>) ((~>) a6989586621679536073 (m6989586621679536072 b6989586621679536074)) (m6989586621679536072 b6989586621679536074))
  • data (>>=@#@$$) (arg6989586621679536544 :: m6989586621679536072 a6989586621679536073) :: forall b6989586621679536074. (~>) ((~>) a6989586621679536073 (m6989586621679536072 b6989586621679536074)) (m6989586621679536072 b6989586621679536074)
  • type (>>=@#@$$$) (arg6989586621679536544 :: m6989586621679536072 a6989586621679536073) (arg6989586621679536545 :: (~>) a6989586621679536073 (m6989586621679536072 b6989586621679536074)) = (>>=) arg6989586621679536544 arg6989586621679536545
  • data (>>@#@$) :: forall a6989586621679536075 b6989586621679536076 m6989586621679536072. (~>) (m6989586621679536072 a6989586621679536075) ((~>) (m6989586621679536072 b6989586621679536076) (m6989586621679536072 b6989586621679536076))
  • data (>>@#@$$) (arg6989586621679536548 :: m6989586621679536072 a6989586621679536075) :: forall b6989586621679536076. (~>) (m6989586621679536072 b6989586621679536076) (m6989586621679536072 b6989586621679536076)
  • type (>>@#@$$$) (arg6989586621679536548 :: m6989586621679536072 a6989586621679536075) (arg6989586621679536549 :: m6989586621679536072 b6989586621679536076) = (>>) arg6989586621679536548 arg6989586621679536549
  • data ReturnSym0 :: forall a6989586621679536077 m6989586621679536072. (~>) a6989586621679536077 (m6989586621679536072 a6989586621679536077)
  • type ReturnSym1 (arg6989586621679536552 :: a6989586621679536077) = Return arg6989586621679536552
  • data FailSym0 :: forall a6989586621679536078 m6989586621679536072. (~>) Symbol (m6989586621679536072 a6989586621679536078)
  • type FailSym1 (arg6989586621679536554 :: Symbol) = Fail arg6989586621679536554
  • data MapM_Sym0 :: forall a6989586621680438471 b6989586621680438472 m6989586621680438470 t6989586621680438469. (~>) ((~>) a6989586621680438471 (m6989586621680438470 b6989586621680438472)) ((~>) (t6989586621680438469 a6989586621680438471) (m6989586621680438470 ()))
  • data MapM_Sym1 (a6989586621680439069 :: (~>) a6989586621680438471 (m6989586621680438470 b6989586621680438472)) :: forall t6989586621680438469. (~>) (t6989586621680438469 a6989586621680438471) (m6989586621680438470 ())
  • type MapM_Sym2 (a6989586621680439069 :: (~>) a6989586621680438471 (m6989586621680438470 b6989586621680438472)) (a6989586621680439070 :: t6989586621680438469 a6989586621680438471) = MapM_ a6989586621680439069 a6989586621680439070
  • data Sequence_Sym0 :: forall a6989586621680438461 m6989586621680438460 t6989586621680438459. (~>) (t6989586621680438459 (m6989586621680438460 a6989586621680438461)) (m6989586621680438460 ())
  • type Sequence_Sym1 (a6989586621680439061 :: t6989586621680438459 (m6989586621680438460 a6989586621680438461)) = Sequence_ a6989586621680439061
  • data (=<<@#@$) :: forall a6989586621679535995 b6989586621679535996 m6989586621679535994. (~>) ((~>) a6989586621679535995 (m6989586621679535994 b6989586621679535996)) ((~>) (m6989586621679535994 a6989586621679535995) (m6989586621679535994 b6989586621679535996))
  • data (=<<@#@$$) (a6989586621679536390 :: (~>) a6989586621679535995 (m6989586621679535994 b6989586621679535996)) :: (~>) (m6989586621679535994 a6989586621679535995) (m6989586621679535994 b6989586621679535996)
  • type (=<<@#@$$$) (a6989586621679536390 :: (~>) a6989586621679535995 (m6989586621679535994 b6989586621679535996)) (a6989586621679536391 :: m6989586621679535994 a6989586621679535995) = (=<<) a6989586621679536390 a6989586621679536391
  • data ElemSym0 :: forall a6989586621680438543 t6989586621680438526. (~>) a6989586621680438543 ((~>) (t6989586621680438526 a6989586621680438543) Bool)
  • data ElemSym1 (arg6989586621680439193 :: a6989586621680438543) :: forall t6989586621680438526. (~>) (t6989586621680438526 a6989586621680438543) Bool
  • type ElemSym2 (arg6989586621680439193 :: a6989586621680438543) (arg6989586621680439194 :: t6989586621680438526 a6989586621680438543) = Elem arg6989586621680439193 arg6989586621680439194
  • data FoldMapSym0 :: forall a6989586621680438529 m6989586621680438528 t6989586621680438526. (~>) ((~>) a6989586621680438529 m6989586621680438528) ((~>) (t6989586621680438526 a6989586621680438529) m6989586621680438528)
  • data FoldMapSym1 (arg6989586621680439151 :: (~>) a6989586621680438529 m6989586621680438528) :: forall t6989586621680438526. (~>) (t6989586621680438526 a6989586621680438529) m6989586621680438528
  • type FoldMapSym2 (arg6989586621680439151 :: (~>) a6989586621680438529 m6989586621680438528) (arg6989586621680439152 :: t6989586621680438526 a6989586621680438529) = FoldMap arg6989586621680439151 arg6989586621680439152
  • data FoldrSym0 :: forall a6989586621680438530 b6989586621680438531 t6989586621680438526. (~>) ((~>) a6989586621680438530 ((~>) b6989586621680438531 b6989586621680438531)) ((~>) b6989586621680438531 ((~>) (t6989586621680438526 a6989586621680438530) b6989586621680438531))
  • data FoldrSym1 (arg6989586621680439155 :: (~>) a6989586621680438530 ((~>) b6989586621680438531 b6989586621680438531)) :: forall t6989586621680438526. (~>) b6989586621680438531 ((~>) (t6989586621680438526 a6989586621680438530) b6989586621680438531)
  • data FoldrSym2 (arg6989586621680439155 :: (~>) a6989586621680438530 ((~>) b6989586621680438531 b6989586621680438531)) (arg6989586621680439156 :: b6989586621680438531) :: forall t6989586621680438526. (~>) (t6989586621680438526 a6989586621680438530) b6989586621680438531
  • type FoldrSym3 (arg6989586621680439155 :: (~>) a6989586621680438530 ((~>) b6989586621680438531 b6989586621680438531)) (arg6989586621680439156 :: b6989586621680438531) (arg6989586621680439157 :: t6989586621680438526 a6989586621680438530) = Foldr arg6989586621680439155 arg6989586621680439156 arg6989586621680439157
  • data FoldlSym0 :: forall a6989586621680438535 b6989586621680438534 t6989586621680438526. (~>) ((~>) b6989586621680438534 ((~>) a6989586621680438535 b6989586621680438534)) ((~>) b6989586621680438534 ((~>) (t6989586621680438526 a6989586621680438535) b6989586621680438534))
  • data FoldlSym1 (arg6989586621680439167 :: (~>) b6989586621680438534 ((~>) a6989586621680438535 b6989586621680438534)) :: forall t6989586621680438526. (~>) b6989586621680438534 ((~>) (t6989586621680438526 a6989586621680438535) b6989586621680438534)
  • data FoldlSym2 (arg6989586621680439167 :: (~>) b6989586621680438534 ((~>) a6989586621680438535 b6989586621680438534)) (arg6989586621680439168 :: b6989586621680438534) :: forall t6989586621680438526. (~>) (t6989586621680438526 a6989586621680438535) b6989586621680438534
  • type FoldlSym3 (arg6989586621680439167 :: (~>) b6989586621680438534 ((~>) a6989586621680438535 b6989586621680438534)) (arg6989586621680439168 :: b6989586621680438534) (arg6989586621680439169 :: t6989586621680438526 a6989586621680438535) = Foldl arg6989586621680439167 arg6989586621680439168 arg6989586621680439169
  • data Foldr1Sym0 :: forall a6989586621680438538 t6989586621680438526. (~>) ((~>) a6989586621680438538 ((~>) a6989586621680438538 a6989586621680438538)) ((~>) (t6989586621680438526 a6989586621680438538) a6989586621680438538)
  • data Foldr1Sym1 (arg6989586621680439179 :: (~>) a6989586621680438538 ((~>) a6989586621680438538 a6989586621680438538)) :: forall t6989586621680438526. (~>) (t6989586621680438526 a6989586621680438538) a6989586621680438538
  • type Foldr1Sym2 (arg6989586621680439179 :: (~>) a6989586621680438538 ((~>) a6989586621680438538 a6989586621680438538)) (arg6989586621680439180 :: t6989586621680438526 a6989586621680438538) = Foldr1 arg6989586621680439179 arg6989586621680439180
  • data Foldl1Sym0 :: forall a6989586621680438539 t6989586621680438526. (~>) ((~>) a6989586621680438539 ((~>) a6989586621680438539 a6989586621680438539)) ((~>) (t6989586621680438526 a6989586621680438539) a6989586621680438539)
  • data Foldl1Sym1 (arg6989586621680439183 :: (~>) a6989586621680438539 ((~>) a6989586621680438539 a6989586621680438539)) :: forall t6989586621680438526. (~>) (t6989586621680438526 a6989586621680438539) a6989586621680438539
  • type Foldl1Sym2 (arg6989586621680439183 :: (~>) a6989586621680438539 ((~>) a6989586621680438539 a6989586621680438539)) (arg6989586621680439184 :: t6989586621680438526 a6989586621680438539) = Foldl1 arg6989586621680439183 arg6989586621680439184
  • data MaximumSym0 :: forall a6989586621680438544 t6989586621680438526. (~>) (t6989586621680438526 a6989586621680438544) a6989586621680438544
  • type MaximumSym1 (arg6989586621680439197 :: t6989586621680438526 a6989586621680438544) = Maximum arg6989586621680439197
  • data MinimumSym0 :: forall a6989586621680438545 t6989586621680438526. (~>) (t6989586621680438526 a6989586621680438545) a6989586621680438545
  • type MinimumSym1 (arg6989586621680439199 :: t6989586621680438526 a6989586621680438545) = Minimum arg6989586621680439199
  • data SumSym0 :: forall a6989586621680438546 t6989586621680438526. (~>) (t6989586621680438526 a6989586621680438546) a6989586621680438546
  • type SumSym1 (arg6989586621680439201 :: t6989586621680438526 a6989586621680438546) = Sum arg6989586621680439201
  • data ProductSym0 :: forall a6989586621680438547 t6989586621680438526. (~>) (t6989586621680438526 a6989586621680438547) a6989586621680438547
  • type ProductSym1 (arg6989586621680439203 :: t6989586621680438526 a6989586621680438547) = Product arg6989586621680439203
  • data TraverseSym0 :: forall a6989586621680734969 b6989586621680734970 f6989586621680734968 t6989586621680734967. (~>) ((~>) a6989586621680734969 (f6989586621680734968 b6989586621680734970)) ((~>) (t6989586621680734967 a6989586621680734969) (f6989586621680734968 (t6989586621680734967 b6989586621680734970)))
  • data TraverseSym1 (arg6989586621680734979 :: (~>) a6989586621680734969 (f6989586621680734968 b6989586621680734970)) :: forall t6989586621680734967. (~>) (t6989586621680734967 a6989586621680734969) (f6989586621680734968 (t6989586621680734967 b6989586621680734970))
  • type TraverseSym2 (arg6989586621680734979 :: (~>) a6989586621680734969 (f6989586621680734968 b6989586621680734970)) (arg6989586621680734980 :: t6989586621680734967 a6989586621680734969) = Traverse arg6989586621680734979 arg6989586621680734980
  • data SequenceASym0 :: forall a6989586621680734972 f6989586621680734971 t6989586621680734967. (~>) (t6989586621680734967 (f6989586621680734971 a6989586621680734972)) (f6989586621680734971 (t6989586621680734967 a6989586621680734972))
  • type SequenceASym1 (arg6989586621680734983 :: t6989586621680734967 (f6989586621680734971 a6989586621680734972)) = SequenceA arg6989586621680734983
  • data MapMSym0 :: forall a6989586621680734974 b6989586621680734975 m6989586621680734973 t6989586621680734967. (~>) ((~>) a6989586621680734974 (m6989586621680734973 b6989586621680734975)) ((~>) (t6989586621680734967 a6989586621680734974) (m6989586621680734973 (t6989586621680734967 b6989586621680734975)))
  • data MapMSym1 (arg6989586621680734985 :: (~>) a6989586621680734974 (m6989586621680734973 b6989586621680734975)) :: forall t6989586621680734967. (~>) (t6989586621680734967 a6989586621680734974) (m6989586621680734973 (t6989586621680734967 b6989586621680734975))
  • type MapMSym2 (arg6989586621680734985 :: (~>) a6989586621680734974 (m6989586621680734973 b6989586621680734975)) (arg6989586621680734986 :: t6989586621680734967 a6989586621680734974) = MapM arg6989586621680734985 arg6989586621680734986
  • data SequenceSym0 :: forall a6989586621680734977 m6989586621680734976 t6989586621680734967. (~>) (t6989586621680734967 (m6989586621680734976 a6989586621680734977)) (m6989586621680734976 (t6989586621680734967 a6989586621680734977))
  • type SequenceSym1 (arg6989586621680734989 :: t6989586621680734967 (m6989586621680734976 a6989586621680734977)) = Sequence arg6989586621680734989
  • data IdSym0 :: forall a6989586621679511796. (~>) a6989586621679511796 a6989586621679511796
  • type IdSym1 (a6989586621679511991 :: a6989586621679511796) = Id a6989586621679511991
  • data ConstSym0 :: forall a6989586621679511794 b6989586621679511795. (~>) a6989586621679511794 ((~>) b6989586621679511795 a6989586621679511794)
  • data ConstSym1 (a6989586621679511976 :: a6989586621679511794) :: forall b6989586621679511795. (~>) b6989586621679511795 a6989586621679511794
  • type ConstSym2 (a6989586621679511976 :: a6989586621679511794) (a6989586621679511977 :: b6989586621679511795) = Const a6989586621679511976 a6989586621679511977
  • data (.@#@$) :: forall a6989586621679511793 b6989586621679511791 c6989586621679511792. (~>) ((~>) b6989586621679511791 c6989586621679511792) ((~>) ((~>) a6989586621679511793 b6989586621679511791) ((~>) a6989586621679511793 c6989586621679511792))
  • data (.@#@$$) (a6989586621679511957 :: (~>) b6989586621679511791 c6989586621679511792) :: forall a6989586621679511793. (~>) ((~>) a6989586621679511793 b6989586621679511791) ((~>) a6989586621679511793 c6989586621679511792)
  • data (a6989586621679511957 :: (~>) b6989586621679511791 c6989586621679511792) .@#@$$$ (a6989586621679511958 :: (~>) a6989586621679511793 b6989586621679511791) :: (~>) a6989586621679511793 c6989586621679511792
  • data ($@#@$) :: forall a6989586621679511785 b6989586621679511786. (~>) ((~>) a6989586621679511785 b6989586621679511786) ((~>) a6989586621679511785 b6989586621679511786)
  • data ($@#@$$) (a6989586621679511942 :: (~>) a6989586621679511785 b6989586621679511786) :: (~>) a6989586621679511785 b6989586621679511786
  • type ($@#@$$$) (a6989586621679511942 :: (~>) a6989586621679511785 b6989586621679511786) (a6989586621679511943 :: a6989586621679511785) = ($) a6989586621679511942 a6989586621679511943
  • data ($!@#@$) :: forall a6989586621679511783 b6989586621679511784. (~>) ((~>) a6989586621679511783 b6989586621679511784) ((~>) a6989586621679511783 b6989586621679511784)
  • data ($!@#@$$) (a6989586621679511933 :: (~>) a6989586621679511783 b6989586621679511784) :: (~>) a6989586621679511783 b6989586621679511784
  • type ($!@#@$$$) (a6989586621679511933 :: (~>) a6989586621679511783 b6989586621679511784) (a6989586621679511934 :: a6989586621679511783) = ($!) a6989586621679511933 a6989586621679511934
  • data FlipSym0 :: forall a6989586621679511788 b6989586621679511789 c6989586621679511790. (~>) ((~>) a6989586621679511788 ((~>) b6989586621679511789 c6989586621679511790)) ((~>) b6989586621679511789 ((~>) a6989586621679511788 c6989586621679511790))
  • data FlipSym1 (a6989586621679511948 :: (~>) a6989586621679511788 ((~>) b6989586621679511789 c6989586621679511790)) :: (~>) b6989586621679511789 ((~>) a6989586621679511788 c6989586621679511790)
  • data FlipSym2 (a6989586621679511948 :: (~>) a6989586621679511788 ((~>) b6989586621679511789 c6989586621679511790)) (a6989586621679511949 :: b6989586621679511789) :: (~>) a6989586621679511788 c6989586621679511790
  • data AsTypeOfSym0 :: forall a6989586621679511787. (~>) a6989586621679511787 ((~>) a6989586621679511787 a6989586621679511787)
  • data AsTypeOfSym1 (a6989586621679511985 :: a6989586621679511787) :: (~>) a6989586621679511787 a6989586621679511787
  • type AsTypeOfSym2 (a6989586621679511985 :: a6989586621679511787) (a6989586621679511986 :: a6989586621679511787) = AsTypeOf a6989586621679511985 a6989586621679511986
  • data SeqSym0 :: forall a6989586621679511780 b6989586621679511781. (~>) a6989586621679511780 ((~>) b6989586621679511781 b6989586621679511781)
  • data SeqSym1 (a6989586621679511902 :: a6989586621679511780) :: forall b6989586621679511781. (~>) b6989586621679511781 b6989586621679511781
  • type SeqSym2 (a6989586621679511902 :: a6989586621679511780) (a6989586621679511903 :: b6989586621679511781) = Seq a6989586621679511902 a6989586621679511903
  • data (:@#@$) :: forall (a3530822107858468865 :: Type). (~>) a3530822107858468865 ((~>) [a3530822107858468865] [(a3530822107858468865 :: Type)])
  • data (:@#@$$) (t6989586621679291660 :: (a3530822107858468865 :: Type)) :: (~>) [a3530822107858468865] [(a3530822107858468865 :: Type)]
  • type (:@#@$$$) (t6989586621679291660 :: a3530822107858468865) (t6989586621679291661 :: [a3530822107858468865]) = (:) t6989586621679291660 t6989586621679291661
  • type NilSym0 = '[]
  • data MapSym0 :: forall a6989586621679511798 b6989586621679511799. (~>) ((~>) a6989586621679511798 b6989586621679511799) ((~>) [a6989586621679511798] [b6989586621679511799])
  • data MapSym1 (a6989586621679512002 :: (~>) a6989586621679511798 b6989586621679511799) :: (~>) [a6989586621679511798] [b6989586621679511799]
  • type MapSym2 (a6989586621679512002 :: (~>) a6989586621679511798 b6989586621679511799) (a6989586621679512003 :: [a6989586621679511798]) = Map a6989586621679512002 a6989586621679512003
  • data ReverseSym0 :: forall a6989586621679929534. (~>) [a6989586621679929534] [a6989586621679929534]
  • type ReverseSym1 (a6989586621679939993 :: [a6989586621679929534]) = Reverse a6989586621679939993
  • data (++@#@$$) (a6989586621679511994 :: [a6989586621679511797]) :: (~>) [a6989586621679511797] [a6989586621679511797]
  • data (++@#@$) :: forall a6989586621679511797. (~>) [a6989586621679511797] ((~>) [a6989586621679511797] [a6989586621679511797])
  • data FilterSym0 :: forall a6989586621679929449. (~>) ((~>) a6989586621679929449 Bool) ((~>) [a6989586621679929449] [a6989586621679929449])
  • data FilterSym1 (a6989586621679938990 :: (~>) a6989586621679929449 Bool) :: (~>) [a6989586621679929449] [a6989586621679929449]
  • type FilterSym2 (a6989586621679938990 :: (~>) a6989586621679929449 Bool) (a6989586621679938991 :: [a6989586621679929449]) = Filter a6989586621679938990 a6989586621679938991
  • data HeadSym0 :: forall a6989586621679929539. (~>) [a6989586621679929539] a6989586621679929539
  • type HeadSym1 (a6989586621679940062 :: [a6989586621679929539]) = Head a6989586621679940062
  • data LastSym0 :: forall a6989586621679929538. (~>) [a6989586621679929538] a6989586621679929538
  • type LastSym1 (a6989586621679940057 :: [a6989586621679929538]) = Last a6989586621679940057
  • data TailSym0 :: forall a6989586621679929537. (~>) [a6989586621679929537] [a6989586621679929537]
  • type TailSym1 (a6989586621679940054 :: [a6989586621679929537]) = Tail a6989586621679940054
  • data InitSym0 :: forall a6989586621679929536. (~>) [a6989586621679929536] [a6989586621679929536]
  • type InitSym1 (a6989586621679940040 :: [a6989586621679929536]) = Init a6989586621679940040
  • data NullSym0 :: forall a6989586621680438541 t6989586621680438526. (~>) (t6989586621680438526 a6989586621680438541) Bool
  • type NullSym1 (arg6989586621680439189 :: t6989586621680438526 a6989586621680438541) = Null arg6989586621680439189
  • data ConcatSym0 :: forall a6989586621680438452 t6989586621680438451. (~>) (t6989586621680438451 [a6989586621680438452]) [a6989586621680438452]
  • type ConcatSym1 (a6989586621680439037 :: t6989586621680438451 [a6989586621680438452]) = Concat a6989586621680439037
  • data ConcatMapSym0 :: forall a6989586621680438449 b6989586621680438450 t6989586621680438448. (~>) ((~>) a6989586621680438449 [b6989586621680438450]) ((~>) (t6989586621680438448 a6989586621680438449) [b6989586621680438450])
  • data ConcatMapSym1 (a6989586621680439021 :: (~>) a6989586621680438449 [b6989586621680438450]) :: forall t6989586621680438448. (~>) (t6989586621680438448 a6989586621680438449) [b6989586621680438450]
  • type ConcatMapSym2 (a6989586621680439021 :: (~>) a6989586621680438449 [b6989586621680438450]) (a6989586621680439022 :: t6989586621680438448 a6989586621680438449) = ConcatMap a6989586621680439021 a6989586621680439022
  • data AndSym0 :: forall t6989586621680438447. (~>) (t6989586621680438447 Bool) Bool
  • type AndSym1 (a6989586621680439012 :: t6989586621680438447 Bool) = And a6989586621680439012
  • data OrSym0 :: forall t6989586621680438446. (~>) (t6989586621680438446 Bool) Bool
  • type OrSym1 (a6989586621680439003 :: t6989586621680438446 Bool) = Or a6989586621680439003
  • data AnySym0 :: forall a6989586621680438445 t6989586621680438444. (~>) ((~>) a6989586621680438445 Bool) ((~>) (t6989586621680438444 a6989586621680438445) Bool)
  • data AnySym1 (a6989586621680438990 :: (~>) a6989586621680438445 Bool) :: forall t6989586621680438444. (~>) (t6989586621680438444 a6989586621680438445) Bool
  • type AnySym2 (a6989586621680438990 :: (~>) a6989586621680438445 Bool) (a6989586621680438991 :: t6989586621680438444 a6989586621680438445) = Any a6989586621680438990 a6989586621680438991
  • data AllSym0 :: forall a6989586621680438443 t6989586621680438442. (~>) ((~>) a6989586621680438443 Bool) ((~>) (t6989586621680438442 a6989586621680438443) Bool)
  • data AllSym1 (a6989586621680438977 :: (~>) a6989586621680438443 Bool) :: forall t6989586621680438442. (~>) (t6989586621680438442 a6989586621680438443) Bool
  • type AllSym2 (a6989586621680438977 :: (~>) a6989586621680438443 Bool) (a6989586621680438978 :: t6989586621680438442 a6989586621680438443) = All a6989586621680438977 a6989586621680438978
  • data ScanlSym0 :: forall a6989586621679929517 b6989586621679929516. (~>) ((~>) b6989586621679929516 ((~>) a6989586621679929517 b6989586621679929516)) ((~>) b6989586621679929516 ((~>) [a6989586621679929517] [b6989586621679929516]))
  • data ScanlSym1 (a6989586621679939625 :: (~>) b6989586621679929516 ((~>) a6989586621679929517 b6989586621679929516)) :: (~>) b6989586621679929516 ((~>) [a6989586621679929517] [b6989586621679929516])
  • data ScanlSym2 (a6989586621679939625 :: (~>) b6989586621679929516 ((~>) a6989586621679929517 b6989586621679929516)) (a6989586621679939626 :: b6989586621679929516) :: (~>) [a6989586621679929517] [b6989586621679929516]
  • type ScanlSym3 (a6989586621679939625 :: (~>) b6989586621679929516 ((~>) a6989586621679929517 b6989586621679929516)) (a6989586621679939626 :: b6989586621679929516) (a6989586621679939627 :: [a6989586621679929517]) = Scanl a6989586621679939625 a6989586621679939626 a6989586621679939627
  • data Scanl1Sym0 :: forall a6989586621679929515. (~>) ((~>) a6989586621679929515 ((~>) a6989586621679929515 a6989586621679929515)) ((~>) [a6989586621679929515] [a6989586621679929515])
  • data Scanl1Sym1 (a6989586621679939639 :: (~>) a6989586621679929515 ((~>) a6989586621679929515 a6989586621679929515)) :: (~>) [a6989586621679929515] [a6989586621679929515]
  • type Scanl1Sym2 (a6989586621679939639 :: (~>) a6989586621679929515 ((~>) a6989586621679929515 a6989586621679929515)) (a6989586621679939640 :: [a6989586621679929515]) = Scanl1 a6989586621679939639 a6989586621679939640
  • data ScanrSym0 :: forall a6989586621679929513 b6989586621679929514. (~>) ((~>) a6989586621679929513 ((~>) b6989586621679929514 b6989586621679929514)) ((~>) b6989586621679929514 ((~>) [a6989586621679929513] [b6989586621679929514]))
  • data ScanrSym1 (a6989586621679939604 :: (~>) a6989586621679929513 ((~>) b6989586621679929514 b6989586621679929514)) :: (~>) b6989586621679929514 ((~>) [a6989586621679929513] [b6989586621679929514])
  • data ScanrSym2 (a6989586621679939604 :: (~>) a6989586621679929513 ((~>) b6989586621679929514 b6989586621679929514)) (a6989586621679939605 :: b6989586621679929514) :: (~>) [a6989586621679929513] [b6989586621679929514]
  • type ScanrSym3 (a6989586621679939604 :: (~>) a6989586621679929513 ((~>) b6989586621679929514 b6989586621679929514)) (a6989586621679939605 :: b6989586621679929514) (a6989586621679939606 :: [a6989586621679929513]) = Scanr a6989586621679939604 a6989586621679939605 a6989586621679939606
  • data Scanr1Sym0 :: forall a6989586621679929512. (~>) ((~>) a6989586621679929512 ((~>) a6989586621679929512 a6989586621679929512)) ((~>) [a6989586621679929512] [a6989586621679929512])
  • data Scanr1Sym1 (a6989586621679939580 :: (~>) a6989586621679929512 ((~>) a6989586621679929512 a6989586621679929512)) :: (~>) [a6989586621679929512] [a6989586621679929512]
  • type Scanr1Sym2 (a6989586621679939580 :: (~>) a6989586621679929512 ((~>) a6989586621679929512 a6989586621679929512)) (a6989586621679939581 :: [a6989586621679929512]) = Scanr1 a6989586621679939580 a6989586621679939581
  • data ReplicateSym0 :: forall a6989586621679929420. (~>) Nat ((~>) a6989586621679929420 [a6989586621679929420])
  • data ReplicateSym1 (a6989586621679938722 :: Nat) :: forall a6989586621679929420. (~>) a6989586621679929420 [a6989586621679929420]
  • type ReplicateSym2 (a6989586621679938722 :: Nat) (a6989586621679938723 :: a6989586621679929420) = Replicate a6989586621679938722 a6989586621679938723
  • data TakeSym0 :: forall a6989586621679929436. (~>) Nat ((~>) [a6989586621679929436] [a6989586621679929436])
  • data TakeSym1 (a6989586621679938818 :: Nat) :: forall a6989586621679929436. (~>) [a6989586621679929436] [a6989586621679929436]
  • type TakeSym2 (a6989586621679938818 :: Nat) (a6989586621679938819 :: [a6989586621679929436]) = Take a6989586621679938818 a6989586621679938819
  • data DropSym0 :: forall a6989586621679929435. (~>) Nat ((~>) [a6989586621679929435] [a6989586621679929435])
  • data DropSym1 (a6989586621679938804 :: Nat) :: forall a6989586621679929435. (~>) [a6989586621679929435] [a6989586621679929435]
  • type DropSym2 (a6989586621679938804 :: Nat) (a6989586621679938805 :: [a6989586621679929435]) = Drop a6989586621679938804 a6989586621679938805
  • data SplitAtSym0 :: forall a6989586621679929434. (~>) Nat ((~>) [a6989586621679929434] ([a6989586621679929434], [a6989586621679929434]))
  • data SplitAtSym1 (a6989586621679938832 :: Nat) :: forall a6989586621679929434. (~>) [a6989586621679929434] ([a6989586621679929434], [a6989586621679929434])
  • type SplitAtSym2 (a6989586621679938832 :: Nat) (a6989586621679938833 :: [a6989586621679929434]) = SplitAt a6989586621679938832 a6989586621679938833
  • data TakeWhileSym0 :: forall a6989586621679929441. (~>) ((~>) a6989586621679929441 Bool) ((~>) [a6989586621679929441] [a6989586621679929441])
  • data TakeWhileSym1 (a6989586621679938976 :: (~>) a6989586621679929441 Bool) :: (~>) [a6989586621679929441] [a6989586621679929441]
  • type TakeWhileSym2 (a6989586621679938976 :: (~>) a6989586621679929441 Bool) (a6989586621679938977 :: [a6989586621679929441]) = TakeWhile a6989586621679938976 a6989586621679938977
  • data DropWhileSym0 :: forall a6989586621679929440. (~>) ((~>) a6989586621679929440 Bool) ((~>) [a6989586621679929440] [a6989586621679929440])
  • data DropWhileSym1 (a6989586621679938958 :: (~>) a6989586621679929440 Bool) :: (~>) [a6989586621679929440] [a6989586621679929440]
  • type DropWhileSym2 (a6989586621679938958 :: (~>) a6989586621679929440 Bool) (a6989586621679938959 :: [a6989586621679929440]) = DropWhile a6989586621679938958 a6989586621679938959
  • data DropWhileEndSym0 :: forall a6989586621679929439. (~>) ((~>) a6989586621679929439 Bool) ((~>) [a6989586621679929439] [a6989586621679929439])
  • data DropWhileEndSym1 (a6989586621679940014 :: (~>) a6989586621679929439 Bool) :: (~>) [a6989586621679929439] [a6989586621679929439]
  • type DropWhileEndSym2 (a6989586621679940014 :: (~>) a6989586621679929439 Bool) (a6989586621679940015 :: [a6989586621679929439]) = DropWhileEnd a6989586621679940014 a6989586621679940015
  • data SpanSym0 :: forall a6989586621679929438. (~>) ((~>) a6989586621679929438 Bool) ((~>) [a6989586621679929438] ([a6989586621679929438], [a6989586621679929438]))
  • data SpanSym1 (a6989586621679938881 :: (~>) a6989586621679929438 Bool) :: (~>) [a6989586621679929438] ([a6989586621679929438], [a6989586621679929438])
  • type SpanSym2 (a6989586621679938881 :: (~>) a6989586621679929438 Bool) (a6989586621679938882 :: [a6989586621679929438]) = Span a6989586621679938881 a6989586621679938882
  • data BreakSym0 :: forall a6989586621679929437. (~>) ((~>) a6989586621679929437 Bool) ((~>) [a6989586621679929437] ([a6989586621679929437], [a6989586621679929437]))
  • data BreakSym1 (a6989586621679938838 :: (~>) a6989586621679929437 Bool) :: (~>) [a6989586621679929437] ([a6989586621679929437], [a6989586621679929437])
  • type BreakSym2 (a6989586621679938838 :: (~>) a6989586621679929437 Bool) (a6989586621679938839 :: [a6989586621679929437]) = Break a6989586621679938838 a6989586621679938839
  • data NotElemSym0 :: forall a6989586621680438437 t6989586621680438436. (~>) a6989586621680438437 ((~>) (t6989586621680438436 a6989586621680438437) Bool)
  • data NotElemSym1 (a6989586621680438919 :: a6989586621680438437) :: forall t6989586621680438436. (~>) (t6989586621680438436 a6989586621680438437) Bool
  • type NotElemSym2 (a6989586621680438919 :: a6989586621680438437) (a6989586621680438920 :: t6989586621680438436 a6989586621680438437) = NotElem a6989586621680438919 a6989586621680438920
  • data ZipSym0 :: forall a6989586621679929495 b6989586621679929496. (~>) [a6989586621679929495] ((~>) [b6989586621679929496] [(a6989586621679929495, b6989586621679929496)])
  • data ZipSym1 (a6989586621679939323 :: [a6989586621679929495]) :: forall b6989586621679929496. (~>) [b6989586621679929496] [(a6989586621679929495, b6989586621679929496)]
  • type ZipSym2 (a6989586621679939323 :: [a6989586621679929495]) (a6989586621679939324 :: [b6989586621679929496]) = Zip a6989586621679939323 a6989586621679939324
  • data Zip3Sym0 :: forall a6989586621679929492 b6989586621679929493 c6989586621679929494. (~>) [a6989586621679929492] ((~>) [b6989586621679929493] ((~>) [c6989586621679929494] [(a6989586621679929492, b6989586621679929493, c6989586621679929494)]))
  • data Zip3Sym1 (a6989586621679939311 :: [a6989586621679929492]) :: forall b6989586621679929493 c6989586621679929494. (~>) [b6989586621679929493] ((~>) [c6989586621679929494] [(a6989586621679929492, b6989586621679929493, c6989586621679929494)])
  • data Zip3Sym2 (a6989586621679939311 :: [a6989586621679929492]) (a6989586621679939312 :: [b6989586621679929493]) :: forall c6989586621679929494. (~>) [c6989586621679929494] [(a6989586621679929492, b6989586621679929493, c6989586621679929494)]
  • type Zip3Sym3 (a6989586621679939311 :: [a6989586621679929492]) (a6989586621679939312 :: [b6989586621679929493]) (a6989586621679939313 :: [c6989586621679929494]) = Zip3 a6989586621679939311 a6989586621679939312 a6989586621679939313
  • data ZipWithSym0 :: forall a6989586621679929489 b6989586621679929490 c6989586621679929491. (~>) ((~>) a6989586621679929489 ((~>) b6989586621679929490 c6989586621679929491)) ((~>) [a6989586621679929489] ((~>) [b6989586621679929490] [c6989586621679929491]))
  • data ZipWithSym1 (a6989586621679939300 :: (~>) a6989586621679929489 ((~>) b6989586621679929490 c6989586621679929491)) :: (~>) [a6989586621679929489] ((~>) [b6989586621679929490] [c6989586621679929491])
  • data ZipWithSym2 (a6989586621679939300 :: (~>) a6989586621679929489 ((~>) b6989586621679929490 c6989586621679929491)) (a6989586621679939301 :: [a6989586621679929489]) :: (~>) [b6989586621679929490] [c6989586621679929491]
  • type ZipWithSym3 (a6989586621679939300 :: (~>) a6989586621679929489 ((~>) b6989586621679929490 c6989586621679929491)) (a6989586621679939301 :: [a6989586621679929489]) (a6989586621679939302 :: [b6989586621679929490]) = ZipWith a6989586621679939300 a6989586621679939301 a6989586621679939302
  • data ZipWith3Sym0 :: forall a6989586621679929485 b6989586621679929486 c6989586621679929487 d6989586621679929488. (~>) ((~>) a6989586621679929485 ((~>) b6989586621679929486 ((~>) c6989586621679929487 d6989586621679929488))) ((~>) [a6989586621679929485] ((~>) [b6989586621679929486] ((~>) [c6989586621679929487] [d6989586621679929488])))
  • data ZipWith3Sym1 (a6989586621679939285 :: (~>) a6989586621679929485 ((~>) b6989586621679929486 ((~>) c6989586621679929487 d6989586621679929488))) :: (~>) [a6989586621679929485] ((~>) [b6989586621679929486] ((~>) [c6989586621679929487] [d6989586621679929488]))
  • data ZipWith3Sym2 (a6989586621679939285 :: (~>) a6989586621679929485 ((~>) b6989586621679929486 ((~>) c6989586621679929487 d6989586621679929488))) (a6989586621679939286 :: [a6989586621679929485]) :: (~>) [b6989586621679929486] ((~>) [c6989586621679929487] [d6989586621679929488])
  • data ZipWith3Sym3 (a6989586621679939285 :: (~>) a6989586621679929485 ((~>) b6989586621679929486 ((~>) c6989586621679929487 d6989586621679929488))) (a6989586621679939286 :: [a6989586621679929485]) (a6989586621679939287 :: [b6989586621679929486]) :: (~>) [c6989586621679929487] [d6989586621679929488]
  • data UnzipSym0 :: forall a6989586621679929483 b6989586621679929484. (~>) [(a6989586621679929483, b6989586621679929484)] ([a6989586621679929483], [b6989586621679929484])
  • type UnzipSym1 (a6989586621679939266 :: [(a6989586621679929483, b6989586621679929484)]) = Unzip a6989586621679939266
  • data UnlinesSym0 :: (~>) [Symbol] Symbol
  • type UnlinesSym1 (a6989586621679939137 :: [Symbol]) = Unlines a6989586621679939137
  • data UnwordsSym0 :: (~>) [Symbol] Symbol
  • type UnwordsSym1 (a6989586621679939126 :: [Symbol]) = Unwords a6989586621679939126

Basic singleton definitions

data family Sing :: k -> Type infixr 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

Singleton type synonyms

These synonyms are all kind-restricted synonyms of Sing. For example SBool requires an argument of kind Bool.

type SBool = (Sing :: Bool -> Type) Source #

type SList = (Sing :: [a] -> Type) Source #

type SMaybe = (Sing :: Maybe a -> Type) Source #

type SEither = (Sing :: Either a b -> Type) Source #

type STuple0 = (Sing :: () -> Type) Source #

type STuple2 = (Sing :: (a, b) -> Type) Source #

type STuple3 = (Sing :: (a, b, c) -> Type) Source #

type STuple4 = (Sing :: (a, b, c, d) -> Type) Source #

type STuple5 = (Sing :: (a, b, c, d, e) -> Type) Source #

type STuple6 = (Sing :: (a, b, c, d, e, f) -> Type) Source #

type STuple7 = (Sing :: (a, b, c, d, e, f, g) -> Type) Source #

Functions working with Bool

type family If (cond :: Bool) (tru :: k) (fls :: k) :: k where ... #

Type-level If. If True a b ==> a; If False a b ==> b

Equations

If True (tru :: k) (fls :: k) = tru 
If False (tru :: k) (fls :: k) = fls 

sIf :: Sing a -> Sing b -> Sing c -> Sing (If a b c) Source #

Conditional over singletons

type family Not (a :: Bool) = (res :: Bool) | res -> a where ... #

Type-level "not". An injective type family since 4.10.0.0.

Since: base-4.7.0.0

Equations

Not False = True 
Not True = False 

sNot :: Sing a -> Sing (Not a) Source #

Negation of a singleton

type family (a :: Bool) && (b :: Bool) :: Bool where ... infixr 3 #

Type-level "and"

Equations

False && a = False 
True && a = a 
a && False = False 
a && True = a 
a && a = a 

type family (a :: Bool) || (b :: Bool) :: Bool where ... infixr 2 #

Type-level "or"

Equations

False || a = a 
True || a = True 
a || False = a 
a || True = True 
a || a = a 

(%&&) :: Sing a -> Sing b -> Sing (a && b) infixr 3 Source #

Conjunction of singletons

(%||) :: Sing a -> Sing b -> Sing (a || b) infixr 2 Source #

Disjunction of singletons

type family Otherwise :: Bool where ... Source #

Equations

Otherwise = TrueSym0 

Error reporting

type family Error (str :: k0) :: k where ... Source #

The promotion of error. This version is more poly-kinded for easier use.

sError :: HasCallStack => Sing (str :: Symbol) -> a Source #

The singleton for error

type family ErrorWithoutStackTrace (str :: k0) :: k where ... Source #

The promotion of errorWithoutStackTrace. This version is more poly-kinded for easier use.

type family Undefined :: k where ... Source #

The promotion of undefined.

sUndefined :: HasCallStack => a Source #

The singleton for undefined.

Singleton equality

Singleton comparisons

class PEq a => POrd (a :: Type) Source #

Associated Types

type Compare (arg :: a) (arg :: a) :: Ordering Source #

type (arg :: a) < (arg :: a) :: Bool infix 4 Source #

type (arg :: a) <= (arg :: a) :: Bool infix 4 Source #

type (arg :: a) > (arg :: a) :: Bool infix 4 Source #

type (arg :: a) >= (arg :: a) :: Bool infix 4 Source #

type Max (arg :: a) (arg :: a) :: a Source #

type Min (arg :: a) (arg :: a) :: a Source #

Instances
POrd Bool Source # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd Ordering Source # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd Nat Source # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd Symbol Source # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd () Source # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd Void Source # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd All Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd Any Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd [a] Source # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd (Maybe a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd (Min a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd (Max a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd (First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd (Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd (WrappedMonoid m) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd (Option a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd (Identity a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd (First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Monoid

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd (Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Monoid

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd (Dual a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd (Sum a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd (Product a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd (Down a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd (NonEmpty a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd (Either a b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd (a, b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd (Arg a b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd (a, b, c) Source # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd (Const a b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Const

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd (a, b, c, d) Source # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd (a, b, c, d, e) Source # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd (a, b, c, d, e, f) Source # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd (a, b, c, d, e, f, g) Source # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

class SEq a => SOrd a where Source #

Minimal complete definition

Nothing

Methods

sCompare :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t :: Ordering) Source #

(%<) :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t :: Bool) infix 4 Source #

(%<=) :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t :: Bool) infix 4 Source #

(%>) :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t :: Bool) infix 4 Source #

(%>=) :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t :: Bool) infix 4 Source #

sMax :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t :: a) Source #

sMin :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t :: a) Source #

sCompare :: forall (t :: a) (t :: a). (Apply (Apply CompareSym0 t) t :: Ordering) ~ Apply (Apply Compare_6989586621679373674Sym0 t) t => Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t :: Ordering) Source #

(%<) :: forall (t :: a) (t :: a). (Apply (Apply (<@#@$) t) t :: Bool) ~ Apply (Apply TFHelper_6989586621679373692Sym0 t) t => Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t :: Bool) infix 4 Source #

(%<=) :: forall (t :: a) (t :: a). (Apply (Apply (<=@#@$) t) t :: Bool) ~ Apply (Apply TFHelper_6989586621679373710Sym0 t) t => Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t :: Bool) infix 4 Source #

(%>) :: forall (t :: a) (t :: a). (Apply (Apply (>@#@$) t) t :: Bool) ~ Apply (Apply TFHelper_6989586621679373728Sym0 t) t => Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t :: Bool) infix 4 Source #

(%>=) :: forall (t :: a) (t :: a). (Apply (Apply (>=@#@$) t) t :: Bool) ~ Apply (Apply TFHelper_6989586621679373746Sym0 t) t => Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t :: Bool) infix 4 Source #

sMax :: forall (t :: a) (t :: a). (Apply (Apply MaxSym0 t) t :: a) ~ Apply (Apply Max_6989586621679373764Sym0 t) t => Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t :: a) Source #

sMin :: forall (t :: a) (t :: a). (Apply (Apply MinSym0 t) t :: a) ~ Apply (Apply Min_6989586621679373782Sym0 t) t => Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t :: a) Source #

Instances
SOrd Bool Source # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

SOrd Ordering Source # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

SOrd Nat Source # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

SOrd Symbol Source # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

SOrd () Source # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

SOrd Void Source # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

SOrd Bool => SOrd All Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

SOrd Bool => SOrd Any Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

(SOrd a, SOrd [a]) => SOrd [a] Source # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

SOrd a => SOrd (Maybe a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

SOrd a => SOrd (Min a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

SOrd a => SOrd (Max a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

SOrd a => SOrd (First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

SOrd a => SOrd (Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

SOrd m => SOrd (WrappedMonoid m) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

SOrd (Maybe a) => SOrd (Option a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

SOrd a => SOrd (Identity a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

SOrd (Maybe a) => SOrd (First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Monoid

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

SOrd (Maybe a) => SOrd (Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Monoid

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

SOrd a => SOrd (Dual a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

SOrd a => SOrd (Sum a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

SOrd a => SOrd (Product a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

SOrd a => SOrd (Down a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

(SOrd a, SOrd [a]) => SOrd (NonEmpty a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

(SOrd a, SOrd b) => SOrd (Either a b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

(SOrd a, SOrd b) => SOrd (a, b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

SOrd a => SOrd (Arg a b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

(SOrd a, SOrd b, SOrd c) => SOrd (a, b, c) Source # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

SOrd a => SOrd (Const a b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Const

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

(SOrd a, SOrd b, SOrd c, SOrd d) => SOrd (a, b, c, d) Source # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

(SOrd a, SOrd b, SOrd c, SOrd d, SOrd e) => SOrd (a, b, c, d, e) Source # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

(SOrd a, SOrd b, SOrd c, SOrd d, SOrd e, SOrd f) => SOrd (a, b, c, d, e, f) Source # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

(SOrd a, SOrd b, SOrd c, SOrd d, SOrd e, SOrd f, SOrd g) => SOrd (a, b, c, d, e, f, g) Source # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

Singleton Enum and Bounded

As a matter of convenience, the singletons Prelude does not export promoted/singletonized succ and pred, due to likely conflicts with unary numbers. Please import Enum directly if you want these.

class SBounded a where Source #

Instances
SBounded Bool Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

SBounded Ordering Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

SBounded () Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

SBounded Bool => SBounded All Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

SBounded Bool => SBounded Any Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

SBounded a => SBounded (Min a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

SBounded a => SBounded (Max a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

SBounded a => SBounded (First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

SBounded a => SBounded (Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

SBounded m => SBounded (WrappedMonoid m) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

SBounded a => SBounded (Identity a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

SBounded a => SBounded (Dual a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

SBounded a => SBounded (Sum a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

SBounded a => SBounded (Product a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

(SBounded a, SBounded b) => SBounded (a, b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

(SBounded a, SBounded b, SBounded c) => SBounded (a, b, c) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

SBounded a => SBounded (Const a b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Const

(SBounded a, SBounded b, SBounded c, SBounded d) => SBounded (a, b, c, d) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

(SBounded a, SBounded b, SBounded c, SBounded d, SBounded e) => SBounded (a, b, c, d, e) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

(SBounded a, SBounded b, SBounded c, SBounded d, SBounded e, SBounded f) => SBounded (a, b, c, d, e, f) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

(SBounded a, SBounded b, SBounded c, SBounded d, SBounded e, SBounded f, SBounded g) => SBounded (a, b, c, d, e, f, g) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

class PBounded (a :: Type) Source #

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

Instances
PBounded Bool Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded Ordering Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded () Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded All Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded Any Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded (Min a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded (Max a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded (First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded (Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded (WrappedMonoid m) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded (Identity a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded (Dual a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded (Sum a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded (Product a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded (a, b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded (a, b, c) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded (Const a b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Const

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded (a, b, c, d) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded (a, b, c, d, e) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded (a, b, c, d, e, f) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded (a, b, c, d, e, f, g) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

class SEnum a where Source #

Minimal complete definition

sToEnum, sFromEnum

Methods

sToEnum :: forall (t :: Nat). Sing t -> Sing (Apply ToEnumSym0 t :: a) Source #

sFromEnum :: forall (t :: a). Sing t -> Sing (Apply FromEnumSym0 t :: Nat) Source #

sEnumFromTo :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply EnumFromToSym0 t) t :: [a]) Source #

sEnumFromThenTo :: forall (t :: a) (t :: a) (t :: a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t) t) t :: [a]) Source #

sEnumFromTo :: forall (t :: a) (t :: a). (Apply (Apply EnumFromToSym0 t) t :: [a]) ~ Apply (Apply EnumFromTo_6989586621679731316Sym0 t) t => Sing t -> Sing t -> Sing (Apply (Apply EnumFromToSym0 t) t :: [a]) Source #

sEnumFromThenTo :: forall (t :: a) (t :: a) (t :: a). (Apply (Apply (Apply EnumFromThenToSym0 t) t) t :: [a]) ~ Apply (Apply (Apply EnumFromThenTo_6989586621679731332Sym0 t) t) t => Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t) t) t :: [a]) Source #

Instances
SEnum Bool Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

SEnum Ordering Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

SEnum Nat Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

SEnum () Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

SEnum a => SEnum (Min a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

SEnum a => SEnum (Max a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

SEnum a => SEnum (First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

SEnum a => SEnum (Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

SEnum a => SEnum (WrappedMonoid a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

SEnum a => SEnum (Identity a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Identity

SEnum a => SEnum (Const a b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Const

class PEnum (a :: Type) Source #

Associated Types

type ToEnum (arg :: Nat) :: a Source #

type FromEnum (arg :: a) :: Nat Source #

type EnumFromTo (arg :: a) (arg :: a) :: [a] Source #

type EnumFromThenTo (arg :: a) (arg :: a) (arg :: a) :: [a] Source #

Instances
PEnum Bool Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

Associated Types

type Succ arg :: a Source #

type Pred arg :: a Source #

type ToEnum arg :: a Source #

type FromEnum arg :: Nat Source #

type EnumFromTo arg arg :: [a] Source #

type EnumFromThenTo arg arg arg :: [a] Source #

PEnum Ordering Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

Associated Types

type Succ arg :: a Source #

type Pred arg :: a Source #

type ToEnum arg :: a Source #

type FromEnum arg :: Nat Source #

type EnumFromTo arg arg :: [a] Source #

type EnumFromThenTo arg arg arg :: [a] Source #

PEnum Nat Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

Associated Types

type Succ arg :: a Source #

type Pred arg :: a Source #

type ToEnum arg :: a Source #

type FromEnum arg :: Nat Source #

type EnumFromTo arg arg :: [a] Source #

type EnumFromThenTo arg arg arg :: [a] Source #

PEnum () Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

Associated Types

type Succ arg :: a Source #

type Pred arg :: a Source #

type ToEnum arg :: a Source #

type FromEnum arg :: Nat Source #

type EnumFromTo arg arg :: [a] Source #

type EnumFromThenTo arg arg arg :: [a] Source #

PEnum (Min a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type Succ arg :: a Source #

type Pred arg :: a Source #

type ToEnum arg :: a Source #

type FromEnum arg :: Nat Source #

type EnumFromTo arg arg :: [a] Source #

type EnumFromThenTo arg arg arg :: [a] Source #

PEnum (Max a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type Succ arg :: a Source #

type Pred arg :: a Source #

type ToEnum arg :: a Source #

type FromEnum arg :: Nat Source #

type EnumFromTo arg arg :: [a] Source #

type EnumFromThenTo arg arg arg :: [a] Source #

PEnum (First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type Succ arg :: a Source #

type Pred arg :: a Source #

type ToEnum arg :: a Source #

type FromEnum arg :: Nat Source #

type EnumFromTo arg arg :: [a] Source #

type EnumFromThenTo arg arg arg :: [a] Source #

PEnum (Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type Succ arg :: a Source #

type Pred arg :: a Source #

type ToEnum arg :: a Source #

type FromEnum arg :: Nat Source #

type EnumFromTo arg arg :: [a] Source #

type EnumFromThenTo arg arg arg :: [a] Source #

PEnum (WrappedMonoid a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type Succ arg :: a Source #

type Pred arg :: a Source #

type ToEnum arg :: a Source #

type FromEnum arg :: Nat Source #

type EnumFromTo arg arg :: [a] Source #

type EnumFromThenTo arg arg arg :: [a] Source #

PEnum (Identity a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Identity

Associated Types

type Succ arg :: a Source #

type Pred arg :: a Source #

type ToEnum arg :: a Source #

type FromEnum arg :: Nat Source #

type EnumFromTo arg arg :: [a] Source #

type EnumFromThenTo arg arg arg :: [a] Source #

PEnum (Const a b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Const

Associated Types

type Succ arg :: a Source #

type Pred arg :: a Source #

type ToEnum arg :: a Source #

type FromEnum arg :: Nat Source #

type EnumFromTo arg arg :: [a] Source #

type EnumFromThenTo arg arg arg :: [a] Source #

data EnumFromThenToSym0 :: forall a6989586621679730982. (~>) a6989586621679730982 ((~>) a6989586621679730982 ((~>) a6989586621679730982 [a6989586621679730982])) Source #

Instances
SEnum a => SingI (EnumFromThenToSym0 :: TyFun a (a ~> (a ~> [a])) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

SuppressUnusedWarnings (EnumFromThenToSym0 :: TyFun a6989586621679730982 (a6989586621679730982 ~> (a6989586621679730982 ~> [a6989586621679730982])) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type Apply (EnumFromThenToSym0 :: TyFun a6989586621679730982 (a6989586621679730982 ~> (a6989586621679730982 ~> [a6989586621679730982])) -> Type) (arg6989586621679731278 :: a6989586621679730982) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type Apply (EnumFromThenToSym0 :: TyFun a6989586621679730982 (a6989586621679730982 ~> (a6989586621679730982 ~> [a6989586621679730982])) -> Type) (arg6989586621679731278 :: a6989586621679730982) = EnumFromThenToSym1 arg6989586621679731278

data EnumFromThenToSym1 (arg6989586621679731278 :: a6989586621679730982) :: (~>) a6989586621679730982 ((~>) a6989586621679730982 [a6989586621679730982]) Source #

Instances
(SEnum a, SingI d) => SingI (EnumFromThenToSym1 d :: TyFun a (a ~> [a]) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

SuppressUnusedWarnings (EnumFromThenToSym1 arg6989586621679731278 :: TyFun a6989586621679730982 (a6989586621679730982 ~> [a6989586621679730982]) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type Apply (EnumFromThenToSym1 arg6989586621679731278 :: TyFun a6989586621679730982 (a6989586621679730982 ~> [a6989586621679730982]) -> Type) (arg6989586621679731279 :: a6989586621679730982) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type Apply (EnumFromThenToSym1 arg6989586621679731278 :: TyFun a6989586621679730982 (a6989586621679730982 ~> [a6989586621679730982]) -> Type) (arg6989586621679731279 :: a6989586621679730982) = EnumFromThenToSym2 arg6989586621679731278 arg6989586621679731279

data EnumFromThenToSym2 (arg6989586621679731278 :: a6989586621679730982) (arg6989586621679731279 :: a6989586621679730982) :: (~>) a6989586621679730982 [a6989586621679730982] Source #

Instances
(SEnum a, SingI d1, SingI d2) => SingI (EnumFromThenToSym2 d1 d2 :: TyFun a [a] -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

Methods

sing :: Sing (EnumFromThenToSym2 d1 d2) Source #

SuppressUnusedWarnings (EnumFromThenToSym2 arg6989586621679731279 arg6989586621679731278 :: TyFun a6989586621679730982 [a6989586621679730982] -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type Apply (EnumFromThenToSym2 arg6989586621679731279 arg6989586621679731278 :: TyFun a [a] -> Type) (arg6989586621679731280 :: a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type Apply (EnumFromThenToSym2 arg6989586621679731279 arg6989586621679731278 :: TyFun a [a] -> Type) (arg6989586621679731280 :: a) = EnumFromThenTo arg6989586621679731279 arg6989586621679731278 arg6989586621679731280

type EnumFromThenToSym3 (arg6989586621679731278 :: a6989586621679730982) (arg6989586621679731279 :: a6989586621679730982) (arg6989586621679731280 :: a6989586621679730982) = EnumFromThenTo arg6989586621679731278 arg6989586621679731279 arg6989586621679731280 Source #

data EnumFromToSym0 :: forall a6989586621679730982. (~>) a6989586621679730982 ((~>) a6989586621679730982 [a6989586621679730982]) Source #

Instances
SEnum a => SingI (EnumFromToSym0 :: TyFun a (a ~> [a]) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

SuppressUnusedWarnings (EnumFromToSym0 :: TyFun a6989586621679730982 (a6989586621679730982 ~> [a6989586621679730982]) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type Apply (EnumFromToSym0 :: TyFun a6989586621679730982 (a6989586621679730982 ~> [a6989586621679730982]) -> Type) (arg6989586621679731274 :: a6989586621679730982) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type Apply (EnumFromToSym0 :: TyFun a6989586621679730982 (a6989586621679730982 ~> [a6989586621679730982]) -> Type) (arg6989586621679731274 :: a6989586621679730982) = EnumFromToSym1 arg6989586621679731274

data EnumFromToSym1 (arg6989586621679731274 :: a6989586621679730982) :: (~>) a6989586621679730982 [a6989586621679730982] Source #

Instances
(SEnum a, SingI d) => SingI (EnumFromToSym1 d :: TyFun a [a] -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

SuppressUnusedWarnings (EnumFromToSym1 arg6989586621679731274 :: TyFun a6989586621679730982 [a6989586621679730982] -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type Apply (EnumFromToSym1 arg6989586621679731274 :: TyFun a [a] -> Type) (arg6989586621679731275 :: a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type Apply (EnumFromToSym1 arg6989586621679731274 :: TyFun a [a] -> Type) (arg6989586621679731275 :: a) = EnumFromTo arg6989586621679731274 arg6989586621679731275

type EnumFromToSym2 (arg6989586621679731274 :: a6989586621679730982) (arg6989586621679731275 :: a6989586621679730982) = EnumFromTo arg6989586621679731274 arg6989586621679731275 Source #

data FromEnumSym0 :: forall a6989586621679730982. (~>) a6989586621679730982 Nat Source #

Instances
SEnum a => SingI (FromEnumSym0 :: TyFun a Nat -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

SuppressUnusedWarnings (FromEnumSym0 :: TyFun a6989586621679730982 Nat -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type Apply (FromEnumSym0 :: TyFun a Nat -> Type) (arg6989586621679731272 :: a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type Apply (FromEnumSym0 :: TyFun a Nat -> Type) (arg6989586621679731272 :: a) = FromEnum arg6989586621679731272

type FromEnumSym1 (arg6989586621679731272 :: a6989586621679730982) = FromEnum arg6989586621679731272 Source #

data ToEnumSym0 :: forall a6989586621679730982. (~>) Nat a6989586621679730982 Source #

Instances
SEnum a => SingI (ToEnumSym0 :: TyFun Nat a -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

SuppressUnusedWarnings (ToEnumSym0 :: TyFun Nat a6989586621679730982 -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type Apply (ToEnumSym0 :: TyFun Nat k2 -> Type) (arg6989586621679731270 :: Nat) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type Apply (ToEnumSym0 :: TyFun Nat k2 -> Type) (arg6989586621679731270 :: Nat) = (ToEnum arg6989586621679731270 :: k2)

type ToEnumSym1 (arg6989586621679731270 :: Nat) = ToEnum arg6989586621679731270 Source #

Singletons numbers

type family (a :: Nat) ^ (b :: Nat) :: Nat where ... infixr 8 #

Exponentiation of type-level naturals.

Since: base-4.7.0.0

(%^) :: Sing a -> Sing b -> Sing (a ^ b) infixr 8 Source #

The singleton analogue of '(TN.^)' for Nats.

Singleton Show

class PShow (a :: Type) Source #

Associated Types

type ShowsPrec (arg :: Nat) (arg :: a) (arg :: Symbol) :: Symbol Source #

type Show_ (arg :: a) :: Symbol Source #

type ShowList (arg :: [a]) (arg :: Symbol) :: Symbol Source #

Instances
PShow Bool Source # 
Instance details

Defined in Data.Singletons.Prelude.Show

Associated Types

type ShowsPrec arg arg arg :: Symbol Source #

type Show_ arg :: Symbol Source #

type ShowList arg arg :: Symbol Source #

PShow Ordering Source # 
Instance details

Defined in Data.Singletons.Prelude.Show

Associated Types

type ShowsPrec arg arg arg :: Symbol Source #

type Show_ arg :: Symbol Source #

type ShowList arg arg :: Symbol Source #

PShow Nat Source # 
Instance details

Defined in Data.Singletons.Prelude.Show

Associated Types

type ShowsPrec arg arg arg :: Symbol Source #

type Show_ arg :: Symbol Source #

type ShowList arg arg :: Symbol Source #

PShow Symbol Source # 
Instance details

Defined in Data.Singletons.Prelude.Show

Associated Types

type ShowsPrec arg arg arg :: Symbol Source #

type Show_ arg :: Symbol Source #

type ShowList arg arg :: Symbol Source #

PShow () Source # 
Instance details

Defined in Data.Singletons.Prelude.Show

Associated Types

type ShowsPrec arg arg arg :: Symbol Source #

type Show_ arg :: Symbol Source #

type ShowList arg arg :: Symbol Source #

PShow Void Source # 
Instance details

Defined in Data.Singletons.Prelude.Show

Associated Types

type ShowsPrec arg arg arg :: Symbol Source #

type Show_ arg :: Symbol Source #

type ShowList arg arg :: Symbol Source #

PShow All Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type ShowsPrec arg arg arg :: Symbol Source #

type Show_ arg :: Symbol Source #

type ShowList arg arg :: Symbol Source #

PShow Any Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type ShowsPrec arg arg arg :: Symbol Source #

type Show_ arg :: Symbol Source #

type ShowList arg arg :: Symbol Source #

PShow [a] Source # 
Instance details

Defined in Data.Singletons.Prelude.Show

Associated Types

type ShowsPrec arg arg arg :: Symbol Source #

type Show_ arg :: Symbol Source #

type ShowList arg arg :: Symbol Source #

PShow (Maybe a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Show

Associated Types

type ShowsPrec arg arg arg :: Symbol Source #

type Show_ arg :: Symbol Source #

type ShowList arg arg :: Symbol Source #

PShow (Min a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type ShowsPrec arg arg arg :: Symbol Source #

type Show_ arg :: Symbol Source #

type ShowList arg arg :: Symbol Source #

PShow (Max a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type ShowsPrec arg arg arg :: Symbol Source #

type Show_ arg :: Symbol Source #

type ShowList arg arg :: Symbol Source #

PShow (First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type ShowsPrec arg arg arg :: Symbol Source #

type Show_ arg :: Symbol Source #

type ShowList arg arg :: Symbol Source #

PShow (Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type ShowsPrec arg arg arg :: Symbol Source #

type Show_ arg :: Symbol Source #

type ShowList arg arg :: Symbol Source #

PShow (WrappedMonoid m) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type ShowsPrec arg arg arg :: Symbol Source #

type Show_ arg :: Symbol Source #

type ShowList arg arg :: Symbol Source #

PShow (Option a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type ShowsPrec arg arg arg :: Symbol Source #

type Show_ arg :: Symbol Source #

type ShowList arg arg :: Symbol Source #

PShow (Identity a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Identity

Associated Types

type ShowsPrec arg arg arg :: Symbol Source #

type Show_ arg :: Symbol Source #

type ShowList arg arg :: Symbol Source #

PShow (First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Monoid

Associated Types

type ShowsPrec arg arg arg :: Symbol Source #

type Show_ arg :: Symbol Source #

type ShowList arg arg :: Symbol Source #

PShow (Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Monoid

Associated Types

type ShowsPrec arg arg arg :: Symbol Source #

type Show_ arg :: Symbol Source #

type ShowList arg arg :: Symbol Source #

PShow (Dual a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type ShowsPrec arg arg arg :: Symbol Source #

type Show_ arg :: Symbol Source #

type ShowList arg arg :: Symbol Source #

PShow (Sum a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type ShowsPrec arg arg arg :: Symbol Source #

type Show_ arg :: Symbol Source #

type ShowList arg arg :: Symbol Source #

PShow (Product a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type ShowsPrec arg arg arg :: Symbol Source #

type Show_ arg :: Symbol Source #

type ShowList arg arg :: Symbol Source #

PShow (NonEmpty a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Show

Associated Types

type ShowsPrec arg arg arg :: Symbol Source #

type Show_ arg :: Symbol Source #

type ShowList arg arg :: Symbol Source #

PShow (Either a b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Show

Associated Types

type ShowsPrec arg arg arg :: Symbol Source #

type Show_ arg :: Symbol Source #

type ShowList arg arg :: Symbol Source #

PShow (a, b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Show

Associated Types

type ShowsPrec arg arg arg :: Symbol Source #

type Show_ arg :: Symbol Source #

type ShowList arg arg :: Symbol Source #

PShow (Arg a b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type ShowsPrec arg arg arg :: Symbol Source #

type Show_ arg :: Symbol Source #

type ShowList arg arg :: Symbol Source #

PShow (a, b, c) Source # 
Instance details

Defined in Data.Singletons.Prelude.Show

Associated Types

type ShowsPrec arg arg arg :: Symbol Source #

type Show_ arg :: Symbol Source #

type ShowList arg arg :: Symbol Source #

PShow (Const a b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Const

Associated Types

type ShowsPrec arg arg arg :: Symbol Source #

type Show_ arg :: Symbol Source #

type ShowList arg arg :: Symbol Source #

PShow (a, b, c, d) Source # 
Instance details

Defined in Data.Singletons.Prelude.Show

Associated Types

type ShowsPrec arg arg arg :: Symbol Source #

type Show_ arg :: Symbol Source #

type ShowList arg arg :: Symbol Source #

PShow (a, b, c, d, e) Source # 
Instance details

Defined in Data.Singletons.Prelude.Show

Associated Types

type ShowsPrec arg arg arg :: Symbol Source #

type Show_ arg :: Symbol Source #

type ShowList arg arg :: Symbol Source #

PShow (a, b, c, d, e, f) Source # 
Instance details

Defined in Data.Singletons.Prelude.Show

Associated Types

type ShowsPrec arg arg arg :: Symbol Source #

type Show_ arg :: Symbol Source #

type ShowList arg arg :: Symbol Source #

PShow (a, b, c, d, e, f, g) Source # 
Instance details

Defined in Data.Singletons.Prelude.Show

Associated Types

type ShowsPrec arg arg arg :: Symbol Source #

type Show_ arg :: Symbol Source #

type ShowList arg arg :: Symbol Source #

class SShow a where Source #

Minimal complete definition

Nothing

Methods

sShowsPrec :: <