singletons-1.0: A framework for generating singleton types

Copyright(C) 2013 Richard Eisenberg
LicenseBSD-style (see LICENSE)
MaintainerRichard Eisenberg (eir@cis.upenn.edu)
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

Basic singleton definitions

data family Sing a Source

The singleton kind-indexed data family.

Instances

TestCoercion * (Sing *) 
SDecide k (KProxy k) => TestEquality k (Sing k) 
data Sing Bool where 
data Sing Ordering where 
data Sing * where 
data Sing Nat where 
data Sing Symbol where 
data Sing () where 
data Sing [a0] where 
data Sing (Maybe a0) where 
data Sing (TyFun k1 k2 -> *) = SLambda {} 
data Sing (Either a0 b0) where 
data Sing ((,) a0 b0) where 
data Sing ((,,) a0 b0 c0) where 
data Sing ((,,,) a0 b0 c0 d0) where 
data Sing ((,,,,) a0 b0 c0 d0 e0) where 
data Sing ((,,,,,) a0 b0 c0 d0 e0 f0) where 
data Sing ((,,,,,,) a0 b0 c0 d0 e0 f0 g0) where 

Though Haddock doesn't show it, the Sing instance above includes the following instances

data instance Sing (a :: Bool) where
  SFalse :: Sing False
  STrue  :: Sing True

data instance Sing (a :: [k]) where
  SNil  :: Sing '[]
  SCons :: Sing (h :: k) -> Sing (t :: [k]) -> Sing (h ': t)

data instance Sing (a :: Maybe k) where
  SNothing :: Sing Nothing
  SJust    :: Sing (a :: k) -> Sing (Just a)

data instance Sing (a :: Either x y) where
  SLeft  :: Sing (a :: x) -> Sing (Left a)
  SRight :: Sing (b :: y) -> Sing (Right b)

data instance Sing (a :: Ordering) where
  SLT :: Sing LT
  SEQ :: Sing EQ
  SGT :: Sing GT

data instance Sing (a :: ()) where
  STuple0 :: Sing '()

data instance Sing (z :: (a, b)) where
  STuple2 :: Sing a -> Sing b -> Sing '(a, b)

data instance Sing (z :: (a, b, c)) where
  STuple3 :: Sing a -> Sing b -> Sing c -> Sing '(a, b, c)

data instance Sing (z :: (a, b, c, d)) where
  STuple4 :: Sing a -> Sing b -> Sing c -> Sing d -> Sing '(a, b, c, d)

data instance Sing (z :: (a, b, c, d, e)) where
  STuple5 :: Sing a -> Sing b -> Sing c -> Sing d -> Sing e -> Sing '(a, b, c, d, e)

data instance Sing (z :: (a, b, c, d, e, f)) where
  STuple6 :: Sing a -> Sing b -> Sing c -> Sing d -> Sing e -> Sing f
          -> Sing '(a, b, c, d, e, f)

data instance Sing (z :: (a, b, c, d, e, f, g)) where
  STuple7 :: Sing a -> Sing b -> Sing c -> Sing d -> Sing e -> Sing f
          -> Sing g -> Sing '(a, b, c, d, e, f, g)

Singleton type synonyms

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

type SBool z = Sing z Source

type SList z = Sing z Source

type SMaybe z = Sing z Source

type SEither z = Sing z Source

type SOrdering z = Sing z Source

type STuple0 z = Sing z Source

type STuple2 z = Sing z Source

type STuple3 z = Sing z Source

type STuple4 z = Sing z Source

type STuple5 z = Sing z Source

type STuple6 z = Sing z Source

type STuple7 z = Sing z Source

Functions working with Bool

type family If cond tru fls :: k

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

Equations

If k True tru fls = tru 
If k False tru fls = fls 

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

Conditional over singletons

type family Not a :: Bool Source

sNot :: forall t. Sing t -> Sing (Apply NotSym0 t) Source

type family a :&& a :: Bool Source

Equations

False :&& z = FalseSym0 
True :&& x = x 

type family a :|| a :: Bool Source

Equations

False :|| x = x 
True :|| z = TrueSym0 

(%:&&) :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply (:&&$) t) t) Source

(%:||) :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply (:||$) t) t) Source

Error reporting

type family Error str :: k Source

The promotion of error

data ErrorSym0 t1 Source

Instances

type Apply k Symbol (ErrorSym0 Symbol k) a = Error k a 

sError :: Sing (str :: Symbol) -> a Source

The singleton for error

Singleton equality

Singleton comparisons

Miscellaneous functions

type family Id a :: a Source

Equations

Id x = x 

sId :: forall t. Sing t -> Sing (Apply IdSym0 t) Source

type family Const a a :: a Source

Equations

Const x z = x 

sConst :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply ConstSym0 t) t) Source

type family (a :. a) a :: c Source

Equations

(f :. g) a_1627849012 = Apply (Apply (Apply (Apply Lambda_1627849017Sym0 f) g) a_1627849012) a_1627849012 

(%:.) :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply (:.$) t) t) t) Source

type family f $ x :: b Source

Instances

type ($) k k1 f x = (@@) k k1 f x 

(%$) :: forall f x. Sing f -> Sing x -> Sing ((($$) @@ f) @@ x) Source

type family f $! x :: b Source

Instances

type ($!) k k1 f x = (@@) k k1 f x 

(%$!) :: forall f x. Sing f -> Sing x -> Sing ((($!$) @@ f) @@ x) Source

type family Flip a a a :: c Source

Equations

Flip f x y = Apply (Apply f y) x 

sFlip :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FlipSym0 t) t) t) Source

type family AsTypeOf a a :: a Source

Equations

AsTypeOf a_1627849051 a_1627849053 = Apply (Apply ConstSym0 a_1627849051) a_1627849053 

sAsTypeOf :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply AsTypeOfSym0 t) t) Source

type family Seq a a :: b Source

Equations

Seq z x = x 

sSeq :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply SeqSym0 t) t) Source

List operations

type family Map a a :: [] b Source

Equations

Map z [] = [] 
Map f ((:) x xs) = Apply (Apply (:$) (Apply f x)) (Apply (Apply MapSym0 f) xs) 

sMap :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply MapSym0 t) t) Source

type family a :++ a :: [] a Source

Equations

[] :++ ys = ys 
((:) x xs) :++ ys = Apply (Apply (:$) x) (Apply (Apply (:++$) xs) ys) 

(%:++) :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply (:++$) t) t) Source

type family Head a :: a Source

Equations

Head ((:) a z) = a 
Head [] = Apply ErrorSym0 "Data.Singletons.List.head: empty list" 

sHead :: forall t. Sing t -> Sing (Apply HeadSym0 t) Source

type family Last a :: a Source

Equations

Last [] = Apply ErrorSym0 "Data.Singletons.List.last: empty list" 
Last ((:) x xs) = Apply (Apply (Let_1627895699Last'Sym2 x xs) x) xs 

sLast :: forall t. Sing t -> Sing (Apply LastSym0 t) Source

type family Tail a :: [] a Source

Equations

Tail ((:) z t) = t 
Tail [] = Apply ErrorSym0 "Data.Singletons.List.tail: empty list" 

sTail :: forall t. Sing t -> Sing (Apply TailSym0 t) Source

type family Init a :: [] a Source

Equations

Init [] = Apply ErrorSym0 "Data.Singletons.List.init: empty list" 
Init ((:) x xs) = Apply (Apply (Let_1627895661Init'Sym2 x xs) x) xs 

sInit :: forall t. Sing t -> Sing (Apply InitSym0 t) Source

type family Null a :: Bool Source

Equations

Null [] = TrueSym0 
Null ((:) z z) = FalseSym0 

sNull :: forall t. Sing t -> Sing (Apply NullSym0 t) Source

type family Reverse a :: [] a Source

Equations

Reverse l = Apply (Apply (Let_1627895618RevSym1 l) l) [] 

sReverse :: forall t. Sing t -> Sing (Apply ReverseSym0 t) Source

Reducing lists (folds)

type family Foldl a a a :: b Source

Equations

Foldl f z0 xs0 = Apply (Apply (Let_1627894911LgoSym3 f z0 xs0) z0) xs0 

sFoldl :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldlSym0 t) t) t) Source

type family Foldl1 a a :: a Source

Equations

Foldl1 f ((:) x xs) = Apply (Apply (Apply FoldlSym0 f) x) xs 
Foldl1 z [] = Apply ErrorSym0 "Data.Singletons.List.foldl1: empty list" 

sFoldl1 :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply Foldl1Sym0 t) t) Source

type family Foldr a a a :: b Source

Equations

Foldr k z a_1627849112 = Apply (Let_1627849117GoSym3 k z a_1627849112) a_1627849112 

sFoldr :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldrSym0 t) t) t) Source

type family Foldr1 a a :: a Source

Equations

Foldr1 z ((:) x []) = x 
Foldr1 f ((:) x ((:) wild_1627893550 wild_1627893552)) = Apply (Apply f x) (Apply (Apply Foldr1Sym0 f) (Let_1627894773XsSym4 f x wild_1627893550 wild_1627893552)) 
Foldr1 z [] = Apply ErrorSym0 "Data.Singletons.List.foldr1: empty list" 

sFoldr1 :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply Foldr1Sym0 t) t) Source

Special folds

type family And a :: Bool Source

Equations

And [] = TrueSym0 
And ((:) x xs) = Apply (Apply (:&&$) x) (Apply AndSym0 xs) 

sAnd :: forall t. Sing t -> Sing (Apply AndSym0 t) Source

type family Or a :: Bool Source

Equations

Or [] = FalseSym0 
Or ((:) x xs) = Apply (Apply (:||$) x) (Apply OrSym0 xs) 

sOr :: forall t. Sing t -> Sing (Apply OrSym0 t) Source

type family Any_ a a :: Bool Source

Equations

Any_ z [] = FalseSym0 
Any_ p ((:) x xs) = Apply (Apply (:||$) (Apply p x)) (Apply (Apply Any_Sym0 p) xs) 

sAny_ :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply Any_Sym0 t) t) Source

type family All a a :: Bool Source

Equations

All z [] = TrueSym0 
All p ((:) x xs) = Apply (Apply (:&&$) (Apply p x)) (Apply (Apply AllSym0 p) xs) 

sAll :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply AllSym0 t) t) Source

type family Concat a :: [] a Source

Equations

Concat a_1627894751 = Apply (Apply (Apply FoldrSym0 (:++$)) []) a_1627894751 

sConcat :: forall t. Sing t -> Sing (Apply ConcatSym0 t) Source

type family ConcatMap a a :: [] b Source

Equations

ConcatMap f a_1627894747 = Apply (Apply (Apply FoldrSym0 (Apply (Apply (:.$) (:++$)) f)) []) a_1627894747 

sConcatMap :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply ConcatMapSym0 t) t) Source

Scans

type family Scanl a a a :: [] b Source

Equations

Scanl f q ls = Apply (Apply (:$) q) (Case_1627894694 f q ls (Let_1627894680Scrutinee_1627893554Sym3 f q ls)) 

sScanl :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ScanlSym0 t) t) t) Source

type family Scanl1 a a :: [] a Source

Equations

Scanl1 f ((:) x xs) = Apply (Apply (Apply ScanlSym0 f) x) xs 
Scanl1 z [] = [] 

sScanl1 :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply Scanl1Sym0 t) t) Source

type family Scanr a a a :: [] b Source

Equations

Scanr z q0 [] = Apply (Apply (:$) q0) [] 
Scanr f q0 ((:) x xs) = Case_1627894656 f q0 x xs (Let_1627894636Scrutinee_1627893556Sym4 f q0 x xs) 

sScanr :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ScanrSym0 t) t) t) Source

type family Scanr1 a a :: [] a Source

Equations

Scanr1 z [] = [] 
Scanr1 z ((:) x []) = Apply (Apply (:$) x) [] 
Scanr1 f ((:) x ((:) wild_1627893560 wild_1627893562)) = Case_1627894609 f x wild_1627893560 wild_1627893562 (Let_1627894589Scrutinee_1627893558Sym4 f x wild_1627893560 wild_1627893562) 

sScanr1 :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply Scanr1Sym0 t) t) Source

Searching lists

type family Elem a a :: Bool Source

Equations

Elem z [] = FalseSym0 
Elem x ((:) y ys) = Apply (Apply (:||$) (Apply (Apply (:==$) x) y)) (Apply (Apply ElemSym0 x) ys) 

sElem :: forall t t. SEq (KProxy :: KProxy a) => Sing t -> Sing t -> Sing (Apply (Apply ElemSym0 t) t) Source

type family NotElem a a :: Bool Source

Equations

NotElem z [] = TrueSym0 
NotElem x ((:) y ys) = Apply (Apply (:&&$) (Apply (Apply (:/=$) x) y)) (Apply (Apply NotElemSym0 x) ys) 

sNotElem :: forall t t. SEq (KProxy :: KProxy a) => Sing t -> Sing t -> Sing (Apply (Apply NotElemSym0 t) t) Source

Zipping and unzipping lists

type family Zip a a :: [] ((,) a b) Source

Equations

Zip ((:) x xs) ((:) y ys) = Apply (Apply (:$) (Apply (Apply Tuple2Sym0 x) y)) (Apply (Apply ZipSym0 xs) ys) 
Zip [] [] = [] 
Zip ((:) z z) [] = [] 
Zip [] ((:) z z) = [] 

sZip :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply ZipSym0 t) t) Source

type family Zip3 a a a :: [] ((,,) a b c) Source

Equations

Zip3 ((:) a as) ((:) b bs) ((:) c cs) = Apply (Apply (:$) (Apply (Apply (Apply Tuple3Sym0 a) b) c)) (Apply (Apply (Apply Zip3Sym0 as) bs) cs) 
Zip3 [] [] [] = [] 
Zip3 [] [] ((:) z z) = [] 
Zip3 [] ((:) z z) [] = [] 
Zip3 [] ((:) z z) ((:) z z) = [] 
Zip3 ((:) z z) [] [] = [] 
Zip3 ((:) z z) [] ((:) z z) = [] 
Zip3 ((:) z z) ((:) z z) [] = [] 

sZip3 :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Zip3Sym0 t) t) t) Source

type family ZipWith a a a :: [] c Source

Equations

ZipWith f ((:) x xs) ((:) y ys) = Apply (Apply (:$) (Apply (Apply f x) y)) (Apply (Apply (Apply ZipWithSym0 f) xs) ys) 
ZipWith z [] [] = [] 
ZipWith z ((:) z z) [] = [] 
ZipWith z [] ((:) z z) = [] 

sZipWith :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ZipWithSym0 t) t) t) Source

type family ZipWith3 a a a a :: [] d Source

Equations

ZipWith3 z ((:) a as) ((:) b bs) ((:) c cs) = Apply (Apply (:$) (Apply (Apply (Apply z a) b) c)) (Apply (Apply (Apply (Apply ZipWith3Sym0 z) as) bs) cs) 
ZipWith3 z [] [] [] = [] 
ZipWith3 z [] [] ((:) z z) = [] 
ZipWith3 z [] ((:) z z) [] = [] 
ZipWith3 z [] ((:) z z) ((:) z z) = [] 
ZipWith3 z ((:) z z) [] [] = [] 
ZipWith3 z ((:) z z) [] ((:) z z) = [] 
ZipWith3 z ((:) z z) ((:) z z) [] = [] 

sZipWith3 :: forall t t t t. Sing t -> Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply (Apply ZipWith3Sym0 t) t) t) t) Source

type family Unzip a :: (,) ([] a) ([] b) Source

Equations

Unzip xs = Apply (Apply (Apply FoldrSym0 (Apply Lambda_1627893943Sym0 xs)) (Apply (Apply Tuple2Sym0 []) [])) xs 

sUnzip :: forall t. Sing t -> Sing (Apply UnzipSym0 t) Source

type family Unzip3 a :: (,,) ([] a) ([] b) ([] c) Source

Equations

Unzip3 xs = Apply (Apply (Apply FoldrSym0 (Apply Lambda_1627893909Sym0 xs)) (Apply (Apply (Apply Tuple3Sym0 []) []) [])) xs 

sUnzip3 :: forall t. Sing t -> Sing (Apply Unzip3Sym0 t) Source

Other datatypes

type family Maybe_ a a a :: b Source

Equations

Maybe_ n z Nothing = n 
Maybe_ z f (Just x) = Apply f x 

sMaybe_ :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Maybe_Sym0 t) t) t) Source

type family Either_ a a a :: c Source

Equations

Either_ f z (Left x) = Apply f x 
Either_ z g (Right y) = Apply g y 

sEither_ :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Either_Sym0 t) t) t) Source

type family Fst a :: a Source

Equations

Fst ((,) x z) = x 

sFst :: forall t. Sing t -> Sing (Apply FstSym0 t) Source

type family Snd a :: b Source

Equations

Snd ((,) z y) = y 

sSnd :: forall t. Sing t -> Sing (Apply SndSym0 t) Source

type family Curry a a a :: c Source

Equations

Curry f x y = Apply f (Apply (Apply Tuple2Sym0 x) y) 

sCurry :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply CurrySym0 t) t) t) Source

type family Uncurry a a :: c Source

Equations

Uncurry f p = Apply (Apply f (Apply FstSym0 p)) (Apply SndSym0 p) 

sUncurry :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply UncurrySym0 t) t) Source

data Symbol :: *

(Kind) This is the kind of type-level symbols.

Other functions

either_ :: forall a c b. (a -> c) -> (b -> c) -> Either a b -> c Source

maybe_ :: forall b a. b -> (a -> b) -> Maybe a -> b Source

bool_ :: forall a. a -> a -> Bool -> a Source

any_ :: forall a. (a -> Bool) -> [a] -> Bool Source

Defunctionalization symbols

type NotSym1 t = Not t Source

data (:&&$) l Source

Instances

data l :&&$$ l Source

Instances

type (:&&$$$) t t = (:&&) t t Source

data (:||$) l Source

Instances

data l :||$$ l Source

Instances

type (:||$$$) t t = (:||) t t Source

data JustSym0 l Source

Instances

SuppressUnusedWarnings (TyFun k (Maybe k) -> *) (JustSym0 k) 
type Apply (Maybe k) k (JustSym0 k) l0 = JustSym1 k l0 

type JustSym1 t = Just t Source

data Maybe_Sym0 l Source

Instances

SuppressUnusedWarnings (TyFun k (TyFun (TyFun k k -> *) (TyFun (Maybe k) k -> *) -> *) -> *) (Maybe_Sym0 k k) 
type Apply (TyFun (TyFun k1 k -> *) (TyFun (Maybe k1) k -> *) -> *) k (Maybe_Sym0 k1 k) l0 = Maybe_Sym1 k k1 l0 

data Maybe_Sym1 l l Source

Instances

SuppressUnusedWarnings (k -> TyFun (TyFun k k -> *) (TyFun (Maybe k) k -> *) -> *) (Maybe_Sym1 k k) 
type Apply (TyFun (Maybe k) k1 -> *) (TyFun k k1 -> *) (Maybe_Sym1 k1 k l1) l0 = Maybe_Sym2 k1 k l1 l0 

data Maybe_Sym2 l l l Source

Instances

SuppressUnusedWarnings (k -> (TyFun k k -> *) -> TyFun (Maybe k) k -> *) (Maybe_Sym2 k k) 
type Apply k (Maybe k1) (Maybe_Sym2 k k1 l1 l2) l0 = Maybe_Sym3 k k1 l1 l2 l0 

type Maybe_Sym3 t t t = Maybe_ t t t Source

data LeftSym0 l Source

Instances

SuppressUnusedWarnings (TyFun k (Either k k) -> *) (LeftSym0 k k) 
type Apply (Either k k1) k (LeftSym0 k1 k) l0 = LeftSym1 k k1 l0 

type LeftSym1 t = Left t Source

data RightSym0 l Source

Instances

SuppressUnusedWarnings (TyFun k (Either k k) -> *) (RightSym0 k k) 
type Apply (Either k k1) k1 (RightSym0 k k1) l0 = RightSym1 k k1 l0 

data Either_Sym0 l Source

Instances

SuppressUnusedWarnings (TyFun (TyFun k k -> *) (TyFun (TyFun k k -> *) (TyFun (Either k k) k -> *) -> *) -> *) (Either_Sym0 k k k) 
type Apply (TyFun (TyFun k2 k -> *) (TyFun (Either k1 k2) k -> *) -> *) (TyFun k1 k -> *) (Either_Sym0 k2 k k1) l0 = Either_Sym1 k k1 k2 l0 

data Either_Sym1 l l Source

Instances

SuppressUnusedWarnings ((TyFun k k -> *) -> TyFun (TyFun k k -> *) (TyFun (Either k k) k -> *) -> *) (Either_Sym1 k k k) 
type Apply (TyFun (Either k2 k) k1 -> *) (TyFun k k1 -> *) (Either_Sym1 k1 k2 k l1) l0 = Either_Sym2 k1 k2 k l1 l0 

data Either_Sym2 l l l Source

Instances

SuppressUnusedWarnings ((TyFun k k -> *) -> (TyFun k k -> *) -> TyFun (Either k k) k -> *) (Either_Sym2 k k k) 
type Apply k (Either k1 k2) (Either_Sym2 k k1 k2 l1 l2) l0 = Either_Sym3 k k1 k2 l1 l2 l0 

type Either_Sym3 t t t = Either_ t t t Source

data Tuple2Sym0 l Source

Instances

SuppressUnusedWarnings (TyFun k (TyFun k ((,) k k) -> *) -> *) (Tuple2Sym0 k k) 
type Apply (TyFun k1 ((,) k k1) -> *) k (Tuple2Sym0 k1 k) l0 = Tuple2Sym1 k k1 l0 

data Tuple2Sym1 l l Source

Instances

SuppressUnusedWarnings (k -> TyFun k ((,) k k) -> *) (Tuple2Sym1 k k) 
type Apply ((,) k1 k) k (Tuple2Sym1 k1 k l1) l0 = Tuple2Sym2 k1 k l1 l0 

type Tuple2Sym2 t t = (,) t t Source

data Tuple3Sym0 l Source

Instances

SuppressUnusedWarnings (TyFun k (TyFun k (TyFun k ((,,) k k k) -> *) -> *) -> *) (Tuple3Sym0 k k k) 
type Apply (TyFun k2 (TyFun k ((,,) k1 k2 k) -> *) -> *) k1 (Tuple3Sym0 k2 k k1) l0 = Tuple3Sym1 k k1 k2 l0 

data Tuple3Sym1 l l Source

Instances

SuppressUnusedWarnings (k -> TyFun k (TyFun k ((,,) k k k) -> *) -> *) (Tuple3Sym1 k k k) 
type Apply (TyFun k1 ((,,) k2 k k1) -> *) k (Tuple3Sym1 k1 k2 k l1) l0 = Tuple3Sym2 k2 k k1 l1 l0 

data Tuple3Sym2 l l l Source

Instances

SuppressUnusedWarnings (k -> k -> TyFun k ((,,) k k k) -> *) (Tuple3Sym2 k k k) 
type Apply ((,,) k1 k2 k) k (Tuple3Sym2 k1 k2 k l1 l2) l0 = Tuple3Sym3 k1 k2 k l1 l2 l0 

type Tuple3Sym3 t t t = (,,) t t t Source

data Tuple4Sym0 l Source

Instances

SuppressUnusedWarnings (TyFun k (TyFun k (TyFun k (TyFun k ((,,,) k k k k) -> *) -> *) -> *) -> *) (Tuple4Sym0 k k k k) 
type Apply (TyFun k3 (TyFun k (TyFun k1 ((,,,) k2 k3 k k1) -> *) -> *) -> *) k2 (Tuple4Sym0 k3 k k1 k2) l0 = Tuple4Sym1 k k1 k2 k3 l0 

data Tuple4Sym1 l l Source

Instances

SuppressUnusedWarnings (k -> TyFun k (TyFun k (TyFun k ((,,,) k k k k) -> *) -> *) -> *) (Tuple4Sym1 k k k k) 
type Apply (TyFun k2 (TyFun k ((,,,) k3 k1 k2 k) -> *) -> *) k1 (Tuple4Sym1 k2 k k3 k1 l1) l0 = Tuple4Sym2 k k3 k1 k2 l1 l0 

data Tuple4Sym2 l l l Source

Instances

SuppressUnusedWarnings (k -> k -> TyFun k (TyFun k ((,,,) k k k k) -> *) -> *) (Tuple4Sym2 k k k k) 
type Apply (TyFun k1 ((,,,) k2 k3 k k1) -> *) k (Tuple4Sym2 k1 k2 k3 k l1 l2) l0 = Tuple4Sym3 k2 k3 k k1 l1 l2 l0 

data Tuple4Sym3 l l l l Source

Instances

SuppressUnusedWarnings (k -> k -> k -> TyFun k ((,,,) k k k k) -> *) (Tuple4Sym3 k k k k) 
type Apply ((,,,) k1 k2 k3 k) k (Tuple4Sym3 k1 k2 k3 k l1 l2 l3) l0 = Tuple4Sym4 k1 k2 k3 k l1 l2 l3 l0 

type Tuple4Sym4 t t t t = (,,,) t t t t Source

data Tuple5Sym0 l Source

Instances

SuppressUnusedWarnings (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k ((,,,,) k k k k k) -> *) -> *) -> *) -> *) -> *) (Tuple5Sym0 k k k k k) 
type Apply (TyFun k4 (TyFun k (TyFun k1 (TyFun k2 ((,,,,) k3 k4 k k1 k2) -> *) -> *) -> *) -> *) k3 (Tuple5Sym0 k4 k k1 k2 k3) l0 = Tuple5Sym1 k k1 k2 k3 k4 l0 

data Tuple5Sym1 l l Source

Instances

SuppressUnusedWarnings (k -> TyFun k (TyFun k (TyFun k (TyFun k ((,,,,) k k k k k) -> *) -> *) -> *) -> *) (Tuple5Sym1 k k k k k) 
type Apply (TyFun k3 (TyFun k (TyFun k1 ((,,,,) k4 k2 k3 k k1) -> *) -> *) -> *) k2 (Tuple5Sym1 k3 k k1 k4 k2 l1) l0 = Tuple5Sym2 k k1 k4 k2 k3 l1 l0 

data Tuple5Sym2 l l l Source

Instances

SuppressUnusedWarnings (k -> k -> TyFun k (TyFun k (TyFun k ((,,,,) k k k k k) -> *) -> *) -> *) (Tuple5Sym2 k k k k k) 
type Apply (TyFun k2 (TyFun k ((,,,,) k3 k4 k1 k2 k) -> *) -> *) k1 (Tuple5Sym2 k2 k k3 k4 k1 l1 l2) l0 = Tuple5Sym3 k k3 k4 k1 k2 l1 l2 l0 

data Tuple5Sym3 l l l l Source

Instances

SuppressUnusedWarnings (k -> k -> k -> TyFun k (TyFun k ((,,,,) k k k k k) -> *) -> *) (Tuple5Sym3 k k k k k) 
type Apply (TyFun k1 ((,,,,) k2 k3 k4 k k1) -> *) k (Tuple5Sym3 k1 k2 k3 k4 k l1 l2 l3) l0 = Tuple5Sym4 k2 k3 k4 k k1 l1 l2 l3 l0 

data Tuple5Sym4 l l l l l Source

Instances

SuppressUnusedWarnings (k -> k -> k -> k -> TyFun k ((,,,,) k k k k k) -> *) (Tuple5Sym4 k k k k k) 
type Apply ((,,,,) k1 k2 k3 k4 k) k (Tuple5Sym4 k1 k2 k3 k4 k l1 l2 l3 l4) l0 = Tuple5Sym5 k1 k2 k3 k4 k l1 l2 l3 l4 l0 

type Tuple5Sym5 t t t t t = (,,,,) t t t t t Source

data Tuple6Sym0 l Source

Instances

SuppressUnusedWarnings (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k ((,,,,,) k k k k k k) -> *) -> *) -> *) -> *) -> *) -> *) (Tuple6Sym0 k k k k k k) 
type Apply (TyFun k5 (TyFun k (TyFun k1 (TyFun k2 (TyFun k3 ((,,,,,) k4 k5 k k1 k2 k3) -> *) -> *) -> *) -> *) -> *) k4 (Tuple6Sym0 k5 k k1 k2 k3 k4) l0 = Tuple6Sym1 k k1 k2 k3 k4 k5 l0 

data Tuple6Sym1 l l Source

Instances

SuppressUnusedWarnings (k -> TyFun k (TyFun k (TyFun k (TyFun k (TyFun k ((,,,,,) k k k k k k) -> *) -> *) -> *) -> *) -> *) (Tuple6Sym1 k k k k k k) 
type Apply (TyFun k4 (TyFun k (TyFun k1 (TyFun k2 ((,,,,,) k5 k3 k4 k k1 k2) -> *) -> *) -> *) -> *) k3 (Tuple6Sym1 k4 k k1 k2 k5 k3 l1) l0 = Tuple6Sym2 k k1 k2 k5 k3 k4 l1 l0 

data Tuple6Sym2 l l l Source

Instances

SuppressUnusedWarnings (k -> k -> TyFun k (TyFun k (TyFun k (TyFun k ((,,,,,) k k k k k k) -> *) -> *) -> *) -> *) (Tuple6Sym2 k k k k k k) 
type Apply (TyFun k3 (TyFun k (TyFun k1 ((,,,,,) k4 k5 k2 k3 k k1) -> *) -> *) -> *) k2 (Tuple6Sym2 k3 k k1 k4 k5 k2 l1 l2) l0 = Tuple6Sym3 k k1 k4 k5 k2 k3 l1 l2 l0 

data Tuple6Sym3 l l l l Source

Instances

SuppressUnusedWarnings (k -> k -> k -> TyFun k (TyFun k (TyFun k ((,,,,,) k k k k k k) -> *) -> *) -> *) (Tuple6Sym3 k k k k k k) 
type Apply (TyFun k2 (TyFun k ((,,,,,) k3 k4 k5 k1 k2 k) -> *) -> *) k1 (Tuple6Sym3 k2 k k3 k4 k5 k1 l1 l2 l3) l0 = Tuple6Sym4 k k3 k4 k5 k1 k2 l1 l2 l3 l0 

data Tuple6Sym4 l l l l l Source

Instances

SuppressUnusedWarnings (k -> k -> k -> k -> TyFun k (TyFun k ((,,,,,) k k k k k k) -> *) -> *) (Tuple6Sym4 k k k k k k) 
type Apply (TyFun k1 ((,,,,,) k2 k3 k4 k5 k k1) -> *) k (Tuple6Sym4 k1 k2 k3 k4 k5 k l1 l2 l3 l4) l0 = Tuple6Sym5 k2 k3 k4 k5 k k1 l1 l2 l3 l4 l0 

data Tuple6Sym5 l l l l l l Source

Instances

SuppressUnusedWarnings (k -> k -> k -> k -> k -> TyFun k ((,,,,,) k k k k k k) -> *) (Tuple6Sym5 k k k k k k) 
type Apply ((,,,,,) k1 k2 k3 k4 k5 k) k (Tuple6Sym5 k1 k2 k3 k4 k5 k l1 l2 l3 l4 l5) l0 = Tuple6Sym6 k1 k2 k3 k4 k5 k l1 l2 l3 l4 l5 l0 

type Tuple6Sym6 t t t t t t = (,,,,,) t t t t t t Source

data Tuple7Sym0 l Source

Instances

SuppressUnusedWarnings (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k ((,,,,,,) k k k k k k k) -> *) -> *) -> *) -> *) -> *) -> *) -> *) (Tuple7Sym0 k k k k k k k) 
type Apply (TyFun k6 (TyFun k (TyFun k1 (TyFun k2 (TyFun k3 (TyFun k4 ((,,,,,,) k5 k6 k k1 k2 k3 k4) -> *) -> *) -> *) -> *) -> *) -> *) k5 (Tuple7Sym0 k6 k k1 k2 k3 k4 k5) l0 = Tuple7Sym1 k k1 k2 k3 k4 k5 k6 l0 

data Tuple7Sym1 l l Source

Instances

SuppressUnusedWarnings (k -> TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k ((,,,,,,) k k k k k k k) -> *) -> *) -> *) -> *) -> *) -> *) (Tuple7Sym1 k k k k k k k) 
type Apply (TyFun k5 (TyFun k (TyFun k1 (TyFun k2 (TyFun k3 ((,,,,,,) k6 k4 k5 k k1 k2 k3) -> *) -> *) -> *) -> *) -> *) k4 (Tuple7Sym1 k5 k k1 k2 k3 k6 k4 l1) l0 = Tuple7Sym2 k k1 k2 k3 k6 k4 k5 l1 l0 

data Tuple7Sym2 l l l Source

Instances

SuppressUnusedWarnings (k -> k -> TyFun k (TyFun k (TyFun k (TyFun k (TyFun k ((,,,,,,) k k k k k k k) -> *) -> *) -> *) -> *) -> *) (Tuple7Sym2 k k k k k k k) 
type Apply (TyFun k4 (TyFun k (TyFun k1 (TyFun k2 ((,,,,,,) k5 k6 k3 k4 k k1 k2) -> *) -> *) -> *) -> *) k3 (Tuple7Sym2 k4 k k1 k2 k5 k6 k3 l1 l2) l0 = Tuple7Sym3 k k1 k2 k5 k6 k3 k4 l1 l2 l0 

data Tuple7Sym3 l l l l Source

Instances

SuppressUnusedWarnings (k -> k -> k -> TyFun k (TyFun k (TyFun k (TyFun k ((,,,,,,) k k k k k k k) -> *) -> *) -> *) -> *) (Tuple7Sym3 k k k k k k k) 
type Apply (TyFun k3 (TyFun k (TyFun k1 ((,,,,,,) k4 k5 k6 k2 k3 k k1) -> *) -> *) -> *) k2 (Tuple7Sym3 k3 k k1 k4 k5 k6 k2 l1 l2 l3) l0 = Tuple7Sym4 k k1 k4 k5 k6 k2 k3 l1 l2 l3 l0 

data Tuple7Sym4 l l l l l Source

Instances

SuppressUnusedWarnings (k -> k -> k -> k -> TyFun k (TyFun k (TyFun k ((,,,,,,) k k k k k k k) -> *) -> *) -> *) (Tuple7Sym4 k k k k k k k) 
type Apply (TyFun k2 (TyFun k ((,,,,,,) k3 k4 k5 k6 k1 k2 k) -> *) -> *) k1 (Tuple7Sym4 k2 k k3 k4 k5 k6 k1 l1 l2 l3 l4) l0 = Tuple7Sym5 k k3 k4 k5 k6 k1 k2 l1 l2 l3 l4 l0 

data Tuple7Sym5 l l l l l l Source

Instances

SuppressUnusedWarnings (k -> k -> k -> k -> k -> TyFun k (TyFun k ((,,,,,,) k k k k k k k) -> *) -> *) (Tuple7Sym5 k k k k k k k) 
type Apply (TyFun k1 ((,,,,,,) k2 k3 k4 k5 k6 k k1) -> *) k (Tuple7Sym5 k1 k2 k3 k4 k5 k6 k l1 l2 l3 l4 l5) l0 = Tuple7Sym6 k2 k3 k4 k5 k6 k k1 l1 l2 l3 l4 l5 l0 

data Tuple7Sym6 l l l l l l l Source

Instances

SuppressUnusedWarnings (k -> k -> k -> k -> k -> k -> TyFun k ((,,,,,,) k k k k k k k) -> *) (Tuple7Sym6 k k k k k k k) 
type Apply ((,,,,,,) k1 k2 k3 k4 k5 k6 k) k (Tuple7Sym6 k1 k2 k3 k4 k5 k6 k l1 l2 l3 l4 l5 l6) l0 = Tuple7Sym7 k1 k2 k3 k4 k5 k6 k l1 l2 l3 l4 l5 l6 l0 

type Tuple7Sym7 t t t t t t t = (,,,,,,) t t t t t t t Source

data FstSym0 l Source

Instances

SuppressUnusedWarnings (TyFun ((,) k k) k -> *) (FstSym0 k k) 
type Apply k ((,) k k1) (FstSym0 k k1) l0 = FstSym1 k k1 l0 

type FstSym1 t = Fst t Source

data SndSym0 l Source

Instances

SuppressUnusedWarnings (TyFun ((,) k k) k -> *) (SndSym0 k k) 
type Apply k ((,) k1 k) (SndSym0 k k1) l0 = SndSym1 k k1 l0 

type SndSym1 t = Snd t Source

data CurrySym0 l Source

Instances

SuppressUnusedWarnings (TyFun (TyFun ((,) k k) k -> *) (TyFun k (TyFun k k -> *) -> *) -> *) (CurrySym0 k k k) 
type Apply (TyFun k1 (TyFun k2 k -> *) -> *) (TyFun ((,) k1 k2) k -> *) (CurrySym0 k k1 k2) l0 = CurrySym1 k k1 k2 l0 

data CurrySym1 l l Source

Instances

SuppressUnusedWarnings ((TyFun ((,) k k) k -> *) -> TyFun k (TyFun k k -> *) -> *) (CurrySym1 k k k) 
type Apply (TyFun k2 k1 -> *) k (CurrySym1 k1 k k2 l1) l0 = CurrySym2 k1 k k2 l1 l0 

data CurrySym2 l l l Source

Instances

SuppressUnusedWarnings ((TyFun ((,) k k) k -> *) -> k -> TyFun k k -> *) (CurrySym2 k k k) 
type Apply k1 k (CurrySym2 k1 k2 k l1 l2) l0 = CurrySym3 k1 k2 k l1 l2 l0 

type CurrySym3 t t t = Curry t t t Source

data UncurrySym0 l Source

Instances

SuppressUnusedWarnings (TyFun (TyFun k (TyFun k k -> *) -> *) (TyFun ((,) k k) k -> *) -> *) (UncurrySym0 k k k) 
type Apply (TyFun ((,) k1 k2) k -> *) (TyFun k1 (TyFun k2 k -> *) -> *) (UncurrySym0 k k1 k2) l0 = UncurrySym1 k k1 k2 l0 

data UncurrySym1 l l Source

Instances

SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> TyFun ((,) k k) k -> *) (UncurrySym1 k k k) 
type Apply k ((,) k1 k2) (UncurrySym1 k k1 k2 l1) l0 = UncurrySym2 k k1 k2 l1 l0 

type UncurrySym2 t t = Uncurry t t Source

data IdSym0 l Source

Instances

SuppressUnusedWarnings (TyFun k k -> *) (IdSym0 k) 
type Apply k k (IdSym0 k) l0 = IdSym1 k l0 

type IdSym1 t = Id t Source

data ConstSym0 l Source

Instances

SuppressUnusedWarnings (TyFun k (TyFun k k -> *) -> *) (ConstSym0 k k) 
type Apply (TyFun k1 k -> *) k (ConstSym0 k1 k) l0 = ConstSym1 k k1 l0 

data ConstSym1 l l Source

Instances

SuppressUnusedWarnings (k -> TyFun k k -> *) (ConstSym1 k k) 
type Apply k1 k (ConstSym1 k1 k l1) l0 = ConstSym2 k1 k l1 l0 

type ConstSym2 t t = Const t t Source

data (:.$) l Source

Instances

SuppressUnusedWarnings (TyFun (TyFun k k -> *) (TyFun (TyFun k k -> *) (TyFun k k -> *) -> *) -> *) ((:.$) k k k) 
type Apply (TyFun (TyFun k2 k1 -> *) (TyFun k2 k -> *) -> *) (TyFun k1 k -> *) ((:.$) k2 k k1) l0 = (:.$$) k k1 k2 l0 

data l :.$$ l Source

Instances

SuppressUnusedWarnings ((TyFun k k -> *) -> TyFun (TyFun k k -> *) (TyFun k k -> *) -> *) ((:.$$) k k k) 
type Apply (TyFun k k1 -> *) (TyFun k k2 -> *) ((:.$$) k1 k2 k l1) l0 = (:.$$$) k1 k2 k l1 l0 

data (l :.$$$ l) l Source

Instances

SuppressUnusedWarnings ((TyFun k k -> *) -> (TyFun k k -> *) -> TyFun k k -> *) ((:.$$$) k k k) 
type Apply k1 k ((:.$$$) k1 k2 k l1 l2) l0 

data ($$) :: TyFun (TyFun a b -> *) (TyFun a b -> *) -> * Source

Instances

type Apply (TyFun k k1 -> *) (TyFun k k1 -> *) (($$) k k1) arg = ($$$) k k1 arg 

data ($$$) :: (TyFun a b -> *) -> TyFun a b -> * Source

Instances

type Apply k1 k (($$$) k k1 f) arg = ($$$$) k1 k f arg 

type ($$$$) a b = ($) a b Source

data ($!$) :: TyFun (TyFun a b -> *) (TyFun a b -> *) -> * Source

Instances

type Apply (TyFun k k1 -> *) (TyFun k k1 -> *) (($!$) k k1) arg = ($!$$) k k1 arg 

data ($!$$) :: (TyFun a b -> *) -> TyFun a b -> * Source

Instances

type Apply k1 k (($!$$) k k1 f) arg = ($!$$$) k1 k f arg 

type ($!$$$) a b = ($!) a b Source

data FlipSym0 l Source

Instances

SuppressUnusedWarnings (TyFun (TyFun k (TyFun k k -> *) -> *) (TyFun k (TyFun k k -> *) -> *) -> *) (FlipSym0 k k k) 
type Apply (TyFun k2 (TyFun k1 k -> *) -> *) (TyFun k1 (TyFun k2 k -> *) -> *) (FlipSym0 k k1 k2) l0 = FlipSym1 k k1 k2 l0 

data FlipSym1 l l Source

Instances

SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> TyFun k (TyFun k k -> *) -> *) (FlipSym1 k k k) 
type Apply (TyFun k2 k1 -> *) k (FlipSym1 k1 k2 k l1) l0 = FlipSym2 k1 k2 k l1 l0 

data FlipSym2 l l l Source

Instances

SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> k -> TyFun k k -> *) (FlipSym2 k k k) 
type Apply k1 k (FlipSym2 k1 k k2 l1 l2) l0 

data AsTypeOfSym0 l Source

Instances

SuppressUnusedWarnings (TyFun k (TyFun k k -> *) -> *) (AsTypeOfSym0 k) 
type Apply (TyFun k k -> *) k (AsTypeOfSym0 k) l0 = AsTypeOfSym1 k l0 

data AsTypeOfSym1 l l Source

Instances

SuppressUnusedWarnings (k -> TyFun k k -> *) (AsTypeOfSym1 k) 
type Apply k k (AsTypeOfSym1 k l1) l0 = AsTypeOfSym2 k l1 l0 

data SeqSym0 l Source

Instances

SuppressUnusedWarnings (TyFun k (TyFun k k -> *) -> *) (SeqSym0 k k) 
type Apply (TyFun k1 k1 -> *) k (SeqSym0 k1 k) l0 = SeqSym1 k1 k l0 

data SeqSym1 l l Source

Instances

SuppressUnusedWarnings (k -> TyFun k k -> *) (SeqSym1 k k) 
type Apply k k (SeqSym1 k k1 l1) l0 = SeqSym2 k k1 l1 l0 

type SeqSym2 t t = Seq t t Source

data (:$) l Source

Instances

SuppressUnusedWarnings (TyFun k (TyFun [k] [k] -> *) -> *) ((:$) k) 
type Apply (TyFun [k] [k] -> *) k ((:$) k) l0 = (:$$) k l0 

data l :$$ l Source

Instances

SuppressUnusedWarnings (k -> TyFun [k] [k] -> *) ((:$$) k) 
type Apply [k] [k] ((:$$) k l1) l0 = (:$$$) k l1 l0 

type (:$$$) t t = (:) t t Source

type NilSym0 = [] Source

type ConsSym2 a b = (:$$$) a b Source

data MapSym0 l Source

Instances

SuppressUnusedWarnings (TyFun (TyFun k k -> *) (TyFun [k] [k] -> *) -> *) (MapSym0 k k) 
type Apply (TyFun [k] [k1] -> *) (TyFun k k1 -> *) (MapSym0 k k1) l0 = MapSym1 k k1 l0 

data MapSym1 l l Source

Instances

SuppressUnusedWarnings ((TyFun k k -> *) -> TyFun [k] [k] -> *) (MapSym1 k k) 
type Apply [k1] [k] (MapSym1 k k1 l1) l0 = MapSym2 k k1 l1 l0 

type MapSym2 t t = Map t t Source

data ReverseSym0 l Source

Instances

SuppressUnusedWarnings (TyFun [k] [k] -> *) (ReverseSym0 k) 
type Apply [k] [k] (ReverseSym0 k) l0 = ReverseSym1 k l0 

data l :++$$ l Source

Instances

SuppressUnusedWarnings ([k] -> TyFun [k] [k] -> *) ((:++$$) k) 
type Apply [k] [k] ((:++$$) k l1) l0 

data (:++$) l Source

Instances

SuppressUnusedWarnings (TyFun [k] (TyFun [k] [k] -> *) -> *) ((:++$) k) 
type Apply (TyFun [k] [k] -> *) [k] ((:++$) k) l0 = (:++$$) k l0 

data HeadSym0 l Source

Instances

SuppressUnusedWarnings (TyFun [k] k -> *) (HeadSym0 k) 
type Apply k [k] (HeadSym0 k) l0 = HeadSym1 k l0 

type HeadSym1 t = Head t Source

data LastSym0 l Source

Instances

SuppressUnusedWarnings (TyFun [k] k -> *) (LastSym0 k) 
type Apply k [k] (LastSym0 k) l0 = LastSym1 k l0 

type LastSym1 t = Last t Source

data TailSym0 l Source

Instances

SuppressUnusedWarnings (TyFun [k] [k] -> *) (TailSym0 k) 
type Apply [k] [k] (TailSym0 k) l0 = TailSym1 k l0 

type TailSym1 t = Tail t Source

data InitSym0 l Source

Instances

SuppressUnusedWarnings (TyFun [k] [k] -> *) (InitSym0 k) 
type Apply [k] [k] (InitSym0 k) l0 = InitSym1 k l0 

type InitSym1 t = Init t Source

data NullSym0 l Source

Instances

SuppressUnusedWarnings (TyFun [k] Bool -> *) (NullSym0 k) 
type Apply Bool [k] (NullSym0 k) l0 = NullSym1 k l0 

type NullSym1 t = Null t Source

data FoldlSym0 l Source

Instances

SuppressUnusedWarnings (TyFun (TyFun k (TyFun k k -> *) -> *) (TyFun k (TyFun [k] k -> *) -> *) -> *) (FoldlSym0 k k) 
type Apply (TyFun k (TyFun [k1] k -> *) -> *) (TyFun k (TyFun k1 k -> *) -> *) (FoldlSym0 k k1) l0 = FoldlSym1 k k1 l0 

data FoldlSym1 l l Source

Instances

SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> TyFun k (TyFun [k] k -> *) -> *) (FoldlSym1 k k) 
type Apply (TyFun [k1] k -> *) k (FoldlSym1 k k1 l1) l0 = FoldlSym2 k k1 l1 l0 

data FoldlSym2 l l l Source

Instances

SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> k -> TyFun [k] k -> *) (FoldlSym2 k k) 
type Apply k [k1] (FoldlSym2 k k1 l1 l2) l0 = FoldlSym3 k k1 l1 l2 l0 

type FoldlSym3 t t t = Foldl t t t Source

data Foldl1Sym0 l Source

Instances

SuppressUnusedWarnings (TyFun (TyFun k (TyFun k k -> *) -> *) (TyFun [k] k -> *) -> *) (Foldl1Sym0 k) 
type Apply (TyFun [k] k -> *) (TyFun k (TyFun k k -> *) -> *) (Foldl1Sym0 k) l0 = Foldl1Sym1 k l0 

data Foldl1Sym1 l l Source

Instances

SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> TyFun [k] k -> *) (Foldl1Sym1 k) 
type Apply k [k] (Foldl1Sym1 k l1) l0 = Foldl1Sym2 k l1 l0 

type Foldl1Sym2 t t = Foldl1 t t Source

data FoldrSym0 l Source

Instances

SuppressUnusedWarnings (TyFun (TyFun k (TyFun k k -> *) -> *) (TyFun k (TyFun [k] k -> *) -> *) -> *) (FoldrSym0 k k) 
type Apply (TyFun k (TyFun [k1] k -> *) -> *) (TyFun k1 (TyFun k k -> *) -> *) (FoldrSym0 k k1) l0 = FoldrSym1 k k1 l0 

data FoldrSym1 l l Source

Instances

SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> TyFun k (TyFun [k] k -> *) -> *) (FoldrSym1 k k) 
type Apply (TyFun [k1] k -> *) k (FoldrSym1 k k1 l1) l0 = FoldrSym2 k k1 l1 l0 

data FoldrSym2 l l l Source

Instances

SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> k -> TyFun [k] k -> *) (FoldrSym2 k k) 
type Apply k [k1] (FoldrSym2 k k1 l1 l2) l0 = FoldrSym3 k k1 l1 l2 l0 

type FoldrSym3 t t t = Foldr t t t Source

data Foldr1Sym0 l Source

Instances

SuppressUnusedWarnings (TyFun (TyFun k (TyFun k k -> *) -> *) (TyFun [k] k -> *) -> *) (Foldr1Sym0 k) 
type Apply (TyFun [k] k -> *) (TyFun k (TyFun k k -> *) -> *) (Foldr1Sym0 k) l0 = Foldr1Sym1 k l0 

data Foldr1Sym1 l l Source

Instances

SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> TyFun [k] k -> *) (Foldr1Sym1 k) 
type Apply k [k] (Foldr1Sym1 k l1) l0 = Foldr1Sym2 k l1 l0 

type Foldr1Sym2 t t = Foldr1 t t Source

data ConcatSym0 l Source

Instances

SuppressUnusedWarnings (TyFun [[k]] [k] -> *) (ConcatSym0 k) 
type Apply [k] [[k]] (ConcatSym0 k) l0 = ConcatSym1 k l0 

data ConcatMapSym0 l Source

Instances

SuppressUnusedWarnings (TyFun (TyFun k [k] -> *) (TyFun [k] [k] -> *) -> *) (ConcatMapSym0 k k) 
type Apply (TyFun [k] [k1] -> *) (TyFun k [k1] -> *) (ConcatMapSym0 k k1) l0 = ConcatMapSym1 k k1 l0 

data ConcatMapSym1 l l Source

Instances

SuppressUnusedWarnings ((TyFun k [k] -> *) -> TyFun [k] [k] -> *) (ConcatMapSym1 k k) 
type Apply [k1] [k] (ConcatMapSym1 k k1 l1) l0 = ConcatMapSym2 k k1 l1 l0 

type AndSym1 t = And t Source

data OrSym0 l Source

Instances

type OrSym1 t = Or t Source

data Any_Sym0 l Source

Instances

SuppressUnusedWarnings (TyFun (TyFun k Bool -> *) (TyFun [k] Bool -> *) -> *) (Any_Sym0 k) 
type Apply (TyFun [k] Bool -> *) (TyFun k Bool -> *) (Any_Sym0 k) l0 = Any_Sym1 k l0 

data Any_Sym1 l l Source

Instances

SuppressUnusedWarnings ((TyFun k Bool -> *) -> TyFun [k] Bool -> *) (Any_Sym1 k) 
type Apply Bool [k] (Any_Sym1 k l1) l0 = Any_Sym2 k l1 l0 

type Any_Sym2 t t = Any_ t t Source

data AllSym0 l Source

Instances

SuppressUnusedWarnings (TyFun (TyFun k Bool -> *) (TyFun [k] Bool -> *) -> *) (AllSym0 k) 
type Apply (TyFun [k] Bool -> *) (TyFun k Bool -> *) (AllSym0 k) l0 = AllSym1 k l0 

data AllSym1 l l Source

Instances

SuppressUnusedWarnings ((TyFun k Bool -> *) -> TyFun [k] Bool -> *) (AllSym1 k) 
type Apply Bool [k] (AllSym1 k l1) l0 = AllSym2 k l1 l0 

type AllSym2 t t = All t t Source

data ScanlSym0 l Source

Instances

SuppressUnusedWarnings (TyFun (TyFun k (TyFun k k -> *) -> *) (TyFun k (TyFun [k] [k] -> *) -> *) -> *) (ScanlSym0 k k) 
type Apply (TyFun k (TyFun [k1] [k] -> *) -> *) (TyFun k (TyFun k1 k -> *) -> *) (ScanlSym0 k k1) l0 = ScanlSym1 k k1 l0 

data ScanlSym1 l l Source

Instances

SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> TyFun k (TyFun [k] [k] -> *) -> *) (ScanlSym1 k k) 
type Apply (TyFun [k1] [k] -> *) k (ScanlSym1 k k1 l1) l0 = ScanlSym2 k k1 l1 l0 

data ScanlSym2 l l l Source

Instances

SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> k -> TyFun [k] [k] -> *) (ScanlSym2 k k) 
type Apply [k] [k1] (ScanlSym2 k k1 l1 l2) l0 = ScanlSym3 k k1 l1 l2 l0 

type ScanlSym3 t t t = Scanl t t t Source

data Scanl1Sym0 l Source

Instances

SuppressUnusedWarnings (TyFun (TyFun k (TyFun k k -> *) -> *) (TyFun [k] [k] -> *) -> *) (Scanl1Sym0 k) 
type Apply (TyFun [k] [k] -> *) (TyFun k (TyFun k k -> *) -> *) (Scanl1Sym0 k) l0 = Scanl1Sym1 k l0 

data Scanl1Sym1 l l Source

Instances

SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> TyFun [k] [k] -> *) (Scanl1Sym1 k) 
type Apply [k] [k] (Scanl1Sym1 k l1) l0 = Scanl1Sym2 k l1 l0 

type Scanl1Sym2 t t = Scanl1 t t Source

data ScanrSym0 l Source

Instances

SuppressUnusedWarnings (TyFun (TyFun k (TyFun k k -> *) -> *) (TyFun k (TyFun [k] [k] -> *) -> *) -> *) (ScanrSym0 k k) 
type Apply (TyFun k1 (TyFun [k] [k1] -> *) -> *) (TyFun k (TyFun k1 k1 -> *) -> *) (ScanrSym0 k k1) l0 = ScanrSym1 k k1 l0 

data ScanrSym1 l l Source

Instances

SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> TyFun k (TyFun [k] [k] -> *) -> *) (ScanrSym1 k k) 
type Apply (TyFun [k1] [k] -> *) k (ScanrSym1 k1 k l1) l0 = ScanrSym2 k1 k l1 l0 

data ScanrSym2 l l l Source

Instances

SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> k -> TyFun [k] [k] -> *) (ScanrSym2 k k) 
type Apply [k1] [k] (ScanrSym2 k k1 l1 l2) l0 = ScanrSym3 k k1 l1 l2 l0 

type ScanrSym3 t t t = Scanr t t t Source

data Scanr1Sym0 l Source

Instances

SuppressUnusedWarnings (TyFun (TyFun k (TyFun k k -> *) -> *) (TyFun [k] [k] -> *) -> *) (Scanr1Sym0 k) 
type Apply (TyFun [k] [k] -> *) (TyFun k (TyFun k k -> *) -> *) (Scanr1Sym0 k) l0 = Scanr1Sym1 k l0 

data Scanr1Sym1 l l Source

Instances

SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> TyFun [k] [k] -> *) (Scanr1Sym1 k) 
type Apply [k] [k] (Scanr1Sym1 k l1) l0 = Scanr1Sym2 k l1 l0 

type Scanr1Sym2 t t = Scanr1 t t Source

data ElemSym0 l Source

Instances

SuppressUnusedWarnings (TyFun k (TyFun [k] Bool -> *) -> *) (ElemSym0 k) 
type Apply (TyFun [k] Bool -> *) k (ElemSym0 k) l0 = ElemSym1 k l0 

data ElemSym1 l l Source

Instances

SuppressUnusedWarnings (k -> TyFun [k] Bool -> *) (ElemSym1 k) 
type Apply Bool [k] (ElemSym1 k l1) l0 = ElemSym2 k l1 l0 

type ElemSym2 t t = Elem t t Source

data NotElemSym0 l Source

Instances

SuppressUnusedWarnings (TyFun k (TyFun [k] Bool -> *) -> *) (NotElemSym0 k) 
type Apply (TyFun [k] Bool -> *) k (NotElemSym0 k) l0 = NotElemSym1 k l0 

data NotElemSym1 l l Source

Instances

SuppressUnusedWarnings (k -> TyFun [k] Bool -> *) (NotElemSym1 k) 
type Apply Bool [k] (NotElemSym1 k l1) l0 = NotElemSym2 k l1 l0 

type NotElemSym2 t t = NotElem t t Source

data ZipSym0 l Source

Instances

SuppressUnusedWarnings (TyFun [k] (TyFun [k] [(,) k k] -> *) -> *) (ZipSym0 k k) 
type Apply (TyFun [k1] [(,) k k1] -> *) [k] (ZipSym0 k k1) l0 = ZipSym1 k k1 l0 

data ZipSym1 l l Source

Instances

SuppressUnusedWarnings ([k] -> TyFun [k] [(,) k k] -> *) (ZipSym1 k k) 
type Apply [(,) k1 k] [k] (ZipSym1 k1 k l1) l0 = ZipSym2 k1 k l1 l0 

type ZipSym2 t t = Zip t t Source

data Zip3Sym0 l Source

Instances

SuppressUnusedWarnings (TyFun [k] (TyFun [k] (TyFun [k] [(,,) k k k] -> *) -> *) -> *) (Zip3Sym0 k k k) 
type Apply (TyFun [k1] (TyFun [k2] [(,,) k k1 k2] -> *) -> *) [k] (Zip3Sym0 k k1 k2) l0 = Zip3Sym1 k k1 k2 l0 

data Zip3Sym1 l l Source

Instances

SuppressUnusedWarnings ([k] -> TyFun [k] (TyFun [k] [(,,) k k k] -> *) -> *) (Zip3Sym1 k k k) 
type Apply (TyFun [k1] [(,,) k2 k k1] -> *) [k] (Zip3Sym1 k2 k k1 l1) l0 = Zip3Sym2 k2 k k1 l1 l0 

data Zip3Sym2 l l l Source

Instances

SuppressUnusedWarnings ([k] -> [k] -> TyFun [k] [(,,) k k k] -> *) (Zip3Sym2 k k k) 
type Apply [(,,) k1 k2 k] [k] (Zip3Sym2 k1 k2 k l1 l2) l0 = Zip3Sym3 k1 k2 k l1 l2 l0 

type Zip3Sym3 t t t = Zip3 t t t Source

data ZipWithSym0 l Source

Instances

SuppressUnusedWarnings (TyFun (TyFun k (TyFun k k -> *) -> *) (TyFun [k] (TyFun [k] [k] -> *) -> *) -> *) (ZipWithSym0 k k k) 
type Apply (TyFun [k] (TyFun [k1] [k2] -> *) -> *) (TyFun k (TyFun k1 k2 -> *) -> *) (ZipWithSym0 k k1 k2) l0 = ZipWithSym1 k k1 k2 l0 

data ZipWithSym1 l l Source

Instances

SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> TyFun [k] (TyFun [k] [k] -> *) -> *) (ZipWithSym1 k k k) 
type Apply (TyFun [k1] [k2] -> *) [k] (ZipWithSym1 k k1 k2 l1) l0 = ZipWithSym2 k k1 k2 l1 l0 

data ZipWithSym2 l l l Source

Instances

SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> [k] -> TyFun [k] [k] -> *) (ZipWithSym2 k k k) 
type Apply [k2] [k1] (ZipWithSym2 k k1 k2 l1 l2) l0 = ZipWithSym3 k k1 k2 l1 l2 l0 

type ZipWithSym3 t t t = ZipWith t t t Source

data ZipWith3Sym0 l Source

Instances

SuppressUnusedWarnings (TyFun (TyFun k (TyFun k (TyFun k k -> *) -> *) -> *) (TyFun [k] (TyFun [k] (TyFun [k] [k] -> *) -> *) -> *) -> *) (ZipWith3Sym0 k k k k) 
type Apply (TyFun [k] (TyFun [k1] (TyFun [k2] [k3] -> *) -> *) -> *) (TyFun k (TyFun k1 (TyFun k2 k3 -> *) -> *) -> *) (ZipWith3Sym0 k k1 k2 k3) l0 = ZipWith3Sym1 k k1 k2 k3 l0 

data ZipWith3Sym1 l l Source

Instances

SuppressUnusedWarnings ((TyFun k (TyFun k (TyFun k k -> *) -> *) -> *) -> TyFun [k] (TyFun [k] (TyFun [k] [k] -> *) -> *) -> *) (ZipWith3Sym1 k k k k) 
type Apply (TyFun [k1] (TyFun [k2] [k3] -> *) -> *) [k] (ZipWith3Sym1 k k1 k2 k3 l1) l0 = ZipWith3Sym2 k k1 k2 k3 l1 l0 

data ZipWith3Sym2 l l l Source

Instances

SuppressUnusedWarnings ((TyFun k (TyFun k (TyFun k k -> *) -> *) -> *) -> [k] -> TyFun [k] (TyFun [k] [k] -> *) -> *) (ZipWith3Sym2 k k k k) 
type Apply (TyFun [k2] [k3] -> *) [k1] (ZipWith3Sym2 k k1 k2 k3 l1 l2) l0 = ZipWith3Sym3 k k1 k2 k3 l1 l2 l0 

data ZipWith3Sym3 l l l l Source

Instances

SuppressUnusedWarnings ((TyFun k (TyFun k (TyFun k k -> *) -> *) -> *) -> [k] -> [k] -> TyFun [k] [k] -> *) (ZipWith3Sym3 k k k k) 
type Apply [k3] [k2] (ZipWith3Sym3 k k1 k2 k3 l1 l2 l3) l0 

data UnzipSym0 l Source

Instances

SuppressUnusedWarnings (TyFun [(,) k k] ((,) [k] [k]) -> *) (UnzipSym0 k k) 
type Apply ((,) [k] [k1]) [(,) k k1] (UnzipSym0 k k1) l0 = UnzipSym1 k k1 l0