Copyright | (C) 2013 Richard Eisenberg |
---|---|
License | BSD-style (see LICENSE) |
Maintainer | Richard Eisenberg (eir@cis.upenn.edu) |
Stability | experimental |
Portability | non-portable |
Safe Haskell | None |
Language | Haskell2010 |
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.
- module Data.Singletons
- data family Sing a
- type SBool z = Sing z
- type SList z = Sing z
- type SMaybe z = Sing z
- type SEither z = Sing z
- type SOrdering z = Sing z
- type STuple0 z = Sing z
- type STuple2 z = Sing z
- type STuple3 z = Sing z
- type STuple4 z = Sing z
- type STuple5 z = Sing z
- type STuple6 z = Sing z
- type STuple7 z = Sing z
- type family If cond tru fls :: k
- sIf :: Sing a -> Sing b -> Sing c -> Sing (If a b c)
- type family Not a :: Bool
- sNot :: forall t. Sing t -> Sing (Apply NotSym0 t)
- type family a :&& a :: Bool
- type family a :|| a :: Bool
- (%:&&) :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply (:&&$) t) t)
- (%:||) :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply (:||$) t) t)
- type Otherwise = (TrueSym0 :: Bool)
- sOtherwise :: Sing OtherwiseSym0
- type family Error str :: k
- data ErrorSym0 t1
- sError :: Sing (str :: Symbol) -> a
- module Data.Singletons.Prelude.Eq
- module Data.Singletons.Prelude.Ord
- type family Id a :: a
- sId :: forall t. Sing t -> Sing (Apply IdSym0 t)
- type family Const a a :: a
- sConst :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply ConstSym0 t) t)
- type family (a :. a) a :: c
- (%:.) :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply (:.$) t) t) t)
- type family f $ x :: b
- (%$) :: forall f x. Sing f -> Sing x -> Sing ((($$) @@ f) @@ x)
- type family f $! x :: b
- (%$!) :: forall f x. Sing f -> Sing x -> Sing ((($!$) @@ f) @@ x)
- type family Flip a a a :: c
- sFlip :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FlipSym0 t) t) t)
- type family AsTypeOf a a :: a
- sAsTypeOf :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply AsTypeOfSym0 t) t)
- type family Seq a a :: b
- sSeq :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply SeqSym0 t) t)
- type family Map a a :: [b]
- sMap :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply MapSym0 t) t)
- type family a :++ a :: [a]
- (%:++) :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply (:++$) t) t)
- type family Head a :: a
- sHead :: forall t. Sing t -> Sing (Apply HeadSym0 t)
- type family Last a :: a
- sLast :: forall t. Sing t -> Sing (Apply LastSym0 t)
- type family Tail a :: [a]
- sTail :: forall t. Sing t -> Sing (Apply TailSym0 t)
- type family Init a :: [a]
- sInit :: forall t. Sing t -> Sing (Apply InitSym0 t)
- type family Null a :: Bool
- sNull :: forall t. Sing t -> Sing (Apply NullSym0 t)
- type family Reverse a :: [a]
- sReverse :: forall t. Sing t -> Sing (Apply ReverseSym0 t)
- type family Foldl a a a :: b
- sFoldl :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldlSym0 t) t) t)
- type family Foldl1 a a :: a
- sFoldl1 :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply Foldl1Sym0 t) t)
- type family Foldr a a a :: b
- sFoldr :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldrSym0 t) t) t)
- type family Foldr1 a a :: a
- sFoldr1 :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply Foldr1Sym0 t) t)
- type family And a :: Bool
- sAnd :: forall t. Sing t -> Sing (Apply AndSym0 t)
- type family Or a :: Bool
- sOr :: forall t. Sing t -> Sing (Apply OrSym0 t)
- type family Any_ a a :: Bool
- sAny_ :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply Any_Sym0 t) t)
- type family All a a :: Bool
- sAll :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply AllSym0 t) t)
- type family Concat a :: [a]
- sConcat :: forall t. Sing t -> Sing (Apply ConcatSym0 t)
- type family ConcatMap a a :: [b]
- sConcatMap :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply ConcatMapSym0 t) t)
- type family Scanl a a a :: [b]
- sScanl :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ScanlSym0 t) t) t)
- type family Scanl1 a a :: [a]
- sScanl1 :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply Scanl1Sym0 t) t)
- type family Scanr a a a :: [b]
- sScanr :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ScanrSym0 t) t) t)
- type family Scanr1 a a :: [a]
- sScanr1 :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply Scanr1Sym0 t) t)
- type family Elem a a :: Bool
- sElem :: forall t t. SEq (KProxy :: KProxy a) => Sing t -> Sing t -> Sing (Apply (Apply ElemSym0 t) t)
- type family NotElem a a :: Bool
- sNotElem :: forall t t. SEq (KProxy :: KProxy a) => Sing t -> Sing t -> Sing (Apply (Apply NotElemSym0 t) t)
- type family Zip a a :: [(a, b)]
- sZip :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply ZipSym0 t) t)
- type family Zip3 a a a :: [(a, b, c)]
- sZip3 :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Zip3Sym0 t) t) t)
- type family ZipWith a a a :: [c]
- sZipWith :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ZipWithSym0 t) t) t)
- type family ZipWith3 a a a a :: [d]
- sZipWith3 :: forall t t t t. Sing t -> Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply (Apply ZipWith3Sym0 t) t) t) t)
- type family Unzip a :: ([a], [b])
- sUnzip :: forall t. Sing t -> Sing (Apply UnzipSym0 t)
- type family Unzip3 a :: ([a], [b], [c])
- sUnzip3 :: forall t. Sing t -> Sing (Apply Unzip3Sym0 t)
- type family Maybe_ a a a :: b
- sMaybe_ :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Maybe_Sym0 t) t) t)
- type family Either_ a a a :: c
- sEither_ :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Either_Sym0 t) t) t)
- type family Fst a :: a
- sFst :: forall t. Sing t -> Sing (Apply FstSym0 t)
- type family Snd a :: b
- sSnd :: forall t. Sing t -> Sing (Apply SndSym0 t)
- type family Curry a a a :: c
- sCurry :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply CurrySym0 t) t) t)
- type family Uncurry a a :: c
- sUncurry :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply UncurrySym0 t) t)
- data Symbol :: *
- either_ :: forall a c b. (a -> c) -> (b -> c) -> Either a b -> c
- maybe_ :: forall b a. b -> (a -> b) -> Maybe a -> b
- bool_ :: forall a. a -> a -> Bool -> a
- any_ :: forall a. (a -> Bool) -> [a] -> Bool
- type FalseSym0 = False
- type TrueSym0 = True
- data NotSym0 l
- type NotSym1 t = Not t
- data (:&&$) l
- data l :&&$$ l
- type (:&&$$$) t t = (:&&) t t
- data (:||$) l
- data l :||$$ l
- type (:||$$$) t t = (:||) t t
- type OtherwiseSym0 = Otherwise
- type NothingSym0 = Nothing
- data JustSym0 l
- type JustSym1 t = Just t
- data Maybe_Sym0 l
- data Maybe_Sym1 l l
- data Maybe_Sym2 l l l
- type Maybe_Sym3 t t t = Maybe_ t t t
- data LeftSym0 l
- type LeftSym1 t = Left t
- data RightSym0 l
- type RightSym1 t = Right t
- data Either_Sym0 l
- data Either_Sym1 l l
- data Either_Sym2 l l l
- type Either_Sym3 t t t = Either_ t t t
- type Tuple0Sym0 = `()`
- data Tuple2Sym0 l
- data Tuple2Sym1 l l
- type Tuple2Sym2 t t = `(t, t)`
- data Tuple3Sym0 l
- data Tuple3Sym1 l l
- data Tuple3Sym2 l l l
- type Tuple3Sym3 t t t = `(t, t, t)`
- data Tuple4Sym0 l
- data Tuple4Sym1 l l
- data Tuple4Sym2 l l l
- data Tuple4Sym3 l l l l
- type Tuple4Sym4 t t t t = `(t, t, t, t)`
- data Tuple5Sym0 l
- data Tuple5Sym1 l l
- data Tuple5Sym2 l l l
- data Tuple5Sym3 l l l l
- data Tuple5Sym4 l l l l l
- type Tuple5Sym5 t t t t t = `(t, t, t, t, t)`
- data Tuple6Sym0 l
- data Tuple6Sym1 l l
- data Tuple6Sym2 l l l
- data Tuple6Sym3 l l l l
- data Tuple6Sym4 l l l l l
- data Tuple6Sym5 l l l l l l
- type Tuple6Sym6 t t t t t t = `(t, t, t, t, t, t)`
- data Tuple7Sym0 l
- data Tuple7Sym1 l l
- data Tuple7Sym2 l l l
- data Tuple7Sym3 l l l l
- data Tuple7Sym4 l l l l l
- data Tuple7Sym5 l l l l l l
- data Tuple7Sym6 l l l l l l l
- type Tuple7Sym7 t t t t t t t = `(t, t, t, t, t, t, t)`
- data FstSym0 l
- type FstSym1 t = Fst t
- data SndSym0 l
- type SndSym1 t = Snd t
- data CurrySym0 l
- data CurrySym1 l l
- data CurrySym2 l l l
- type CurrySym3 t t t = Curry t t t
- data UncurrySym0 l
- data UncurrySym1 l l
- type UncurrySym2 t t = Uncurry t t
- data IdSym0 l
- type IdSym1 t = Id t
- data ConstSym0 l
- data ConstSym1 l l
- type ConstSym2 t t = Const t t
- data (:.$) l
- data l :.$$ l
- data (l :.$$$ l) l
- data ($$) :: TyFun (TyFun a b -> *) (TyFun a b -> *) -> *
- data ($$$) :: (TyFun a b -> *) -> TyFun a b -> *
- type ($$$$) a b = ($) a b
- data ($!$) :: TyFun (TyFun a b -> *) (TyFun a b -> *) -> *
- data ($!$$) :: (TyFun a b -> *) -> TyFun a b -> *
- type ($!$$$) a b = ($!) a b
- data FlipSym0 l
- data FlipSym1 l l
- data FlipSym2 l l l
- data AsTypeOfSym0 l
- data AsTypeOfSym1 l l
- type AsTypeOfSym2 t t = AsTypeOf t t
- data SeqSym0 l
- data SeqSym1 l l
- type SeqSym2 t t = Seq t t
- data (:$) l
- data l :$$ l
- type (:$$$) t t = (:) t t
- type NilSym0 = `[]`
- data MapSym0 l
- data MapSym1 l l
- type MapSym2 t t = Map t t
- data ReverseSym0 l
- type ReverseSym1 t = Reverse t
- data l :++$$ l
- data (:++$) l
- data HeadSym0 l
- type HeadSym1 t = Head t
- data LastSym0 l
- type LastSym1 t = Last t
- data TailSym0 l
- type TailSym1 t = Tail t
- data InitSym0 l
- type InitSym1 t = Init t
- data NullSym0 l
- type NullSym1 t = Null t
- data FoldlSym0 l
- data FoldlSym1 l l
- data FoldlSym2 l l l
- type FoldlSym3 t t t = Foldl t t t
- data Foldl1Sym0 l
- data Foldl1Sym1 l l
- type Foldl1Sym2 t t = Foldl1 t t
- data FoldrSym0 l
- data FoldrSym1 l l
- data FoldrSym2 l l l
- type FoldrSym3 t t t = Foldr t t t
- data Foldr1Sym0 l
- data Foldr1Sym1 l l
- type Foldr1Sym2 t t = Foldr1 t t
- data ConcatSym0 l
- type ConcatSym1 t = Concat t
- data ConcatMapSym0 l
- data ConcatMapSym1 l l
- type ConcatMapSym2 t t = ConcatMap t t
- data AndSym0 l
- type AndSym1 t = And t
- data OrSym0 l
- type OrSym1 t = Or t
- data Any_Sym0 l
- data Any_Sym1 l l
- type Any_Sym2 t t = Any_ t t
- data AllSym0 l
- data AllSym1 l l
- type AllSym2 t t = All t t
- data ScanlSym0 l
- data ScanlSym1 l l
- data ScanlSym2 l l l
- type ScanlSym3 t t t = Scanl t t t
- data Scanl1Sym0 l
- data Scanl1Sym1 l l
- type Scanl1Sym2 t t = Scanl1 t t
- data ScanrSym0 l
- data ScanrSym1 l l
- data ScanrSym2 l l l
- type ScanrSym3 t t t = Scanr t t t
- data Scanr1Sym0 l
- data Scanr1Sym1 l l
- type Scanr1Sym2 t t = Scanr1 t t
- data ElemSym0 l
- data ElemSym1 l l
- type ElemSym2 t t = Elem t t
- data NotElemSym0 l
- data NotElemSym1 l l
- type NotElemSym2 t t = NotElem t t
- data ZipSym0 l
- data ZipSym1 l l
- type ZipSym2 t t = Zip t t
- data Zip3Sym0 l
- data Zip3Sym1 l l
- data Zip3Sym2 l l l
- type Zip3Sym3 t t t = Zip3 t t t
- data ZipWithSym0 l
- data ZipWithSym1 l l
- data ZipWithSym2 l l l
- type ZipWithSym3 t t t = ZipWith t t t
- data ZipWith3Sym0 l
- data ZipWith3Sym1 l l
- data ZipWith3Sym2 l l l
- data ZipWith3Sym3 l l l l
- data UnzipSym0 l
- type UnzipSym1 t = Unzip t
Basic singleton definitions
module Data.Singletons
The singleton kind-indexed data family.
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
.
Functions working with Bool
Error reporting
Singleton equality
module Data.Singletons.Prelude.Eq
Singleton comparisons
module Data.Singletons.Prelude.Ord
Miscellaneous functions
(%:.) :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply (:.$) t) t) t) Source
sFlip :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FlipSym0 t) t) t) Source
List operations
Reducing lists (folds)
sFoldl :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldlSym0 t) t) t) Source
sFoldr :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldrSym0 t) t) t) Source
Special folds
sConcatMap :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply ConcatMapSym0 t) t) Source
Scans
sScanl :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ScanlSym0 t) t) t) Source
sScanr :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ScanrSym0 t) t) t) Source
Searching lists
sElem :: forall t t. SEq (KProxy :: KProxy a) => Sing t -> Sing t -> Sing (Apply (Apply ElemSym0 t) t) Source
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 Zip3 a a a :: [(a, b, c)] Source
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
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
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
Other datatypes
sMaybe_ :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Maybe_Sym0 t) t) t) Source
sEither_ :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Either_Sym0 t) t) t) Source
sCurry :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply CurrySym0 t) t) t) Source
data Symbol :: *
(Kind) This is the kind of type-level symbols.
KnownSymbol n => SingI Symbol n | |
SingKind Symbol (KProxy Symbol) | |
SDecide Symbol (KProxy Symbol) | |
PEq Symbol (KProxy Symbol) | |
SEq Symbol (KProxy Symbol) | |
POrd Symbol (KProxy Symbol) | |
data Sing Symbol where
| |
type (==) Symbol a b = EqSymbol a b | |
type (:==) Symbol a b = (==) Symbol a b | |
type Compare Symbol a b = CmpSymbol a b | |
type Apply k Symbol (ErrorSym0 Symbol k) a = Error k a | |
type DemoteRep Symbol (KProxy Symbol) = String |
Other functions
Defunctionalization symbols
type OtherwiseSym0 = Otherwise Source
type NothingSym0 = Nothing Source
data Maybe_Sym0 l Source
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 k k1) l0 = Maybe_Sym1 k k1 l0 |
data Maybe_Sym1 l l Source
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
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 Either_Sym0 l Source
SuppressUnusedWarnings (TyFun (TyFun k k -> *) (TyFun (TyFun k k -> *) (TyFun (Either k k) k -> *) -> *) -> *) (Either_Sym0 k k k) | |
type Apply (TyFun (TyFun k2 k1 -> *) (TyFun (Either k k2) k1 -> *) -> *) (TyFun k k1 -> *) (Either_Sym0 k k1 k2) l0 = Either_Sym1 k k1 k2 l0 |
data Either_Sym1 l l Source
SuppressUnusedWarnings ((TyFun k k -> *) -> TyFun (TyFun k k -> *) (TyFun (Either k k) k -> *) -> *) (Either_Sym1 k k k) | |
type Apply (TyFun (Either k1 k) k2 -> *) (TyFun k k2 -> *) (Either_Sym1 k1 k2 k l1) l0 = Either_Sym2 k1 k2 k l1 l0 |
data Either_Sym2 l l l Source
SuppressUnusedWarnings ((TyFun k k -> *) -> (TyFun k k -> *) -> TyFun (Either k k) k -> *) (Either_Sym2 k k k) | |
type Apply k1 (Either k 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
type Tuple0Sym0 = `()` Source
data Tuple2Sym0 l Source
SuppressUnusedWarnings (TyFun k (TyFun k ((,) k k) -> *) -> *) (Tuple2Sym0 k k) | |
type Apply (TyFun k1 ((,) k k1) -> *) k (Tuple2Sym0 k k1) l0 = Tuple2Sym1 k k1 l0 |
data Tuple2Sym1 l l Source
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
SuppressUnusedWarnings (TyFun k (TyFun k (TyFun k ((,,) k k k) -> *) -> *) -> *) (Tuple3Sym0 k k k) | |
type Apply (TyFun k1 (TyFun k2 ((,,) k k1 k2) -> *) -> *) k (Tuple3Sym0 k k1 k2) l0 = Tuple3Sym1 k k1 k2 l0 |
data Tuple3Sym1 l l Source
SuppressUnusedWarnings (k -> TyFun k (TyFun k ((,,) k k k) -> *) -> *) (Tuple3Sym1 k k k) | |
type Apply (TyFun k1 ((,,) k2 k k1) -> *) k (Tuple3Sym1 k2 k k1 l1) l0 = Tuple3Sym2 k2 k k1 l1 l0 |
data Tuple3Sym2 l l l Source
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
SuppressUnusedWarnings (TyFun k (TyFun k (TyFun k (TyFun k ((,,,) k k k k) -> *) -> *) -> *) -> *) (Tuple4Sym0 k k k k) | |
type Apply (TyFun k1 (TyFun k2 (TyFun k3 ((,,,) k k1 k2 k3) -> *) -> *) -> *) k (Tuple4Sym0 k k1 k2 k3) l0 = Tuple4Sym1 k k1 k2 k3 l0 |
data Tuple4Sym1 l l Source
SuppressUnusedWarnings (k -> TyFun k (TyFun k (TyFun k ((,,,) k k k k) -> *) -> *) -> *) (Tuple4Sym1 k k k k) | |
type Apply (TyFun k1 (TyFun k2 ((,,,) k3 k k1 k2) -> *) -> *) k (Tuple4Sym1 k3 k k1 k2 l1) l0 = Tuple4Sym2 k3 k k1 k2 l1 l0 |
data Tuple4Sym2 l l l Source
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 k2 k3 k k1 l1 l2) l0 = Tuple4Sym3 k2 k3 k k1 l1 l2 l0 |
data Tuple4Sym3 l l l l Source
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
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 k1 (TyFun k2 (TyFun k3 (TyFun k4 ((,,,,) k k1 k2 k3 k4) -> *) -> *) -> *) -> *) k (Tuple5Sym0 k k1 k2 k3 k4) l0 = Tuple5Sym1 k k1 k2 k3 k4 l0 |
data Tuple5Sym1 l l Source
SuppressUnusedWarnings (k -> TyFun k (TyFun k (TyFun k (TyFun k ((,,,,) k k k k k) -> *) -> *) -> *) -> *) (Tuple5Sym1 k k k k k) | |
type Apply (TyFun k1 (TyFun k2 (TyFun k3 ((,,,,) k4 k k1 k2 k3) -> *) -> *) -> *) k (Tuple5Sym1 k4 k k1 k2 k3 l1) l0 = Tuple5Sym2 k4 k k1 k2 k3 l1 l0 |
data Tuple5Sym2 l l l Source
SuppressUnusedWarnings (k -> k -> TyFun k (TyFun k (TyFun k ((,,,,) k k k k k) -> *) -> *) -> *) (Tuple5Sym2 k k k k k) | |
type Apply (TyFun k1 (TyFun k2 ((,,,,) k3 k4 k k1 k2) -> *) -> *) k (Tuple5Sym2 k3 k4 k k1 k2 l1 l2) l0 = Tuple5Sym3 k3 k4 k k1 k2 l1 l2 l0 |
data Tuple5Sym3 l l l l Source
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 k2 k3 k4 k k1 l1 l2 l3) l0 = Tuple5Sym4 k2 k3 k4 k k1 l1 l2 l3 l0 |
data Tuple5Sym4 l l l l l Source
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
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 k1 (TyFun k2 (TyFun k3 (TyFun k4 (TyFun k5 ((,,,,,) k k1 k2 k3 k4 k5) -> *) -> *) -> *) -> *) -> *) k (Tuple6Sym0 k k1 k2 k3 k4 k5) l0 = Tuple6Sym1 k k1 k2 k3 k4 k5 l0 |
data Tuple6Sym1 l l Source
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 k1 (TyFun k2 (TyFun k3 (TyFun k4 ((,,,,,) k5 k k1 k2 k3 k4) -> *) -> *) -> *) -> *) k (Tuple6Sym1 k5 k k1 k2 k3 k4 l1) l0 = Tuple6Sym2 k5 k k1 k2 k3 k4 l1 l0 |
data Tuple6Sym2 l l l Source
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 k1 (TyFun k2 (TyFun k3 ((,,,,,) k4 k5 k k1 k2 k3) -> *) -> *) -> *) k (Tuple6Sym2 k4 k5 k k1 k2 k3 l1 l2) l0 = Tuple6Sym3 k4 k5 k k1 k2 k3 l1 l2 l0 |
data Tuple6Sym3 l l l l Source
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 k1 (TyFun k2 ((,,,,,) k3 k4 k5 k k1 k2) -> *) -> *) k (Tuple6Sym3 k3 k4 k5 k k1 k2 l1 l2 l3) l0 = Tuple6Sym4 k3 k4 k5 k k1 k2 l1 l2 l3 l0 |
data Tuple6Sym4 l l l l l Source
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 k2 k3 k4 k5 k k1 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
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
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 k1 (TyFun k2 (TyFun k3 (TyFun k4 (TyFun k5 (TyFun k6 ((,,,,,,) k k1 k2 k3 k4 k5 k6) -> *) -> *) -> *) -> *) -> *) -> *) k (Tuple7Sym0 k k1 k2 k3 k4 k5 k6) l0 = Tuple7Sym1 k k1 k2 k3 k4 k5 k6 l0 |
data Tuple7Sym1 l l Source
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 k1 (TyFun k2 (TyFun k3 (TyFun k4 (TyFun k5 ((,,,,,,) k6 k k1 k2 k3 k4 k5) -> *) -> *) -> *) -> *) -> *) k (Tuple7Sym1 k6 k k1 k2 k3 k4 k5 l1) l0 = Tuple7Sym2 k6 k k1 k2 k3 k4 k5 l1 l0 |
data Tuple7Sym2 l l l Source
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 k1 (TyFun k2 (TyFun k3 (TyFun k4 ((,,,,,,) k5 k6 k k1 k2 k3 k4) -> *) -> *) -> *) -> *) k (Tuple7Sym2 k5 k6 k k1 k2 k3 k4 l1 l2) l0 = Tuple7Sym3 k5 k6 k k1 k2 k3 k4 l1 l2 l0 |
data Tuple7Sym3 l l l l Source
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 k1 (TyFun k2 (TyFun k3 ((,,,,,,) k4 k5 k6 k k1 k2 k3) -> *) -> *) -> *) k (Tuple7Sym3 k4 k5 k6 k k1 k2 k3 l1 l2 l3) l0 = Tuple7Sym4 k4 k5 k6 k k1 k2 k3 l1 l2 l3 l0 |
data Tuple7Sym4 l l l l l Source
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 k1 (TyFun k2 ((,,,,,,) k3 k4 k5 k6 k k1 k2) -> *) -> *) k (Tuple7Sym4 k3 k4 k5 k6 k k1 k2 l1 l2 l3 l4) l0 = Tuple7Sym5 k3 k4 k5 k6 k k1 k2 l1 l2 l3 l4 l0 |
data Tuple7Sym5 l l l l l l Source
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 k2 k3 k4 k5 k6 k k1 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
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 UncurrySym0 l Source
SuppressUnusedWarnings (TyFun (TyFun k (TyFun k k -> *) -> *) (TyFun ((,) k k) k -> *) -> *) (UncurrySym0 k k k) | |
type Apply (TyFun ((,) k k1) k2 -> *) (TyFun k (TyFun k1 k2 -> *) -> *) (UncurrySym0 k k1 k2) l0 = UncurrySym1 k k1 k2 l0 |
data UncurrySym1 l l Source
SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> TyFun ((,) k k) k -> *) (UncurrySym1 k k k) | |
type Apply k2 ((,) k k1) (UncurrySym1 k k1 k2 l1) l0 = UncurrySym2 k k1 k2 l1 l0 |
type UncurrySym2 t t = Uncurry t t Source
data AsTypeOfSym0 l Source
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
SuppressUnusedWarnings (k -> TyFun k k -> *) (AsTypeOfSym1 k) | |
type Apply k k (AsTypeOfSym1 k l1) l0 = AsTypeOfSym2 k l1 l0 |
type AsTypeOfSym2 t t = AsTypeOf t t Source
data ReverseSym0 l Source
SuppressUnusedWarnings (TyFun [k] [k] -> *) (ReverseSym0 k) | |
type Apply [k] [k] (ReverseSym0 k) l0 = ReverseSym1 k l0 |
type ReverseSym1 t = Reverse t Source
SuppressUnusedWarnings ([k] -> TyFun [k] [k] -> *) ((:++$$) k) | |
type Apply [k] [k] ((:++$$) k l1) l0 |
data Foldl1Sym0 l Source
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
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 Foldr1Sym0 l Source
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
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
SuppressUnusedWarnings (TyFun [[k]] [k] -> *) (ConcatSym0 k) | |
type Apply [k] [[k]] (ConcatSym0 k) l0 = ConcatSym1 k l0 |
type ConcatSym1 t = Concat t Source
data ConcatMapSym0 l Source
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
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 ConcatMapSym2 t t = ConcatMap t t Source
data Scanl1Sym0 l Source
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
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 Scanr1Sym0 l Source
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
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 NotElemSym0 l Source
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
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 ZipWithSym0 l Source
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
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
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
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
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
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
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 |