singletons-2.0.0.1: A framework for generating singleton types

Copyright(C) 2013-2014 Richard Eisenberg, Jan Stolarek
LicenseBSD-style (see LICENSE)
MaintainerRichard Eisenberg (eir@cis.upenn.edu)
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Data.Singletons.Prelude.List

Contents

Description

Defines functions and datatypes relating to the singleton for '[]', including a singletons version of a few of the definitions in Data.List.

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

Synopsis

The singleton for lists

data family Sing a Source

The singleton kind-indexed data family.

Instances

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

Though Haddock doesn't show it, the Sing instance above declares constructors

SNil  :: Sing '[]
SCons :: Sing (h :: k) -> Sing (t :: [k]) -> Sing (h ': t)

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

SList is a kind-restricted synonym for Sing: type SList (a :: [k]) = Sing a

Basic functions

type family a :++ a :: [a] infixr 5 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 :: [a]) infixr 5 Source

type family Head a :: a Source

Equations

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

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

type family Last a :: a Source

Equations

Last `[]` = Apply ErrorSym0 "Data.Singletons.List.last: empty list" 
Last `[x]` = x 
Last ((:) _z_1627677271 ((:) x xs)) = Apply LastSym0 (Apply (Apply (:$) x) xs) 

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

type family Tail a :: [a] Source

Equations

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

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

type family Init a :: [a] Source

Equations

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

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

type family Null a :: Bool Source

Equations

Null `[]` = TrueSym0 
Null ((:) _z_1627677219 _z_1627677222) = FalseSym0 

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

List transformations

type family Map a a :: [b] Source

Equations

Map _z_1627631698 `[]` = `[]` 
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 :: [b]) Source

type family Reverse a :: [a] Source

Equations

Reverse l = Apply (Apply (Let1627677185RevSym1 l) l) `[]` 

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

type family Intersperse a a :: [a] Source

Equations

Intersperse _z_1627677163 `[]` = `[]` 
Intersperse sep ((:) x xs) = Apply (Apply (:$) x) (Apply (Apply PrependToAllSym0 sep) xs) 

sIntersperse :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply IntersperseSym0 t) t :: [a]) Source

type family Intercalate a a :: [a] Source

Equations

Intercalate xs xss = Apply ConcatSym0 (Apply (Apply IntersperseSym0 xs) xss) 

sIntercalate :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply IntercalateSym0 t) t :: [a]) Source

type family Subsequences a :: [[a]] Source

Equations

Subsequences xs = Apply (Apply (:$) `[]`) (Apply NonEmptySubsequencesSym0 xs) 

sSubsequences :: forall t. Sing t -> Sing (Apply SubsequencesSym0 t :: [[a]]) Source

type family Permutations a :: [[a]] Source

Equations

Permutations xs0 = Apply (Apply (:$) xs0) (Apply (Apply (Let1627676738PermsSym1 xs0) xs0) `[]`) 

sPermutations :: forall t. Sing t -> Sing (Apply PermutationsSym0 t :: [[a]]) Source

Reducing lists (folds)

type family Foldl a a a :: b Source

Equations

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

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

type family Foldl' a a a :: b Source

Equations

Foldl' f z0 xs0 = Apply (Apply (Let1627676652LgoSym3 f z0 xs0) z0) xs0 

sFoldl' :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Foldl'Sym0 t) t) t :: b) Source

type family Foldl1 a a :: a Source

Equations

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

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

type family Foldl1' a a :: a Source

Equations

Foldl1' f ((:) x xs) = Apply (Apply (Apply Foldl'Sym0 f) x) xs 
Foldl1' _z_1627676730 `[]` = Apply ErrorSym0 "Data.Singletons.List.foldl1': empty list" 

sFoldl1' :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply Foldl1'Sym0 t) t :: a) Source

type family Foldr a a a :: b Source

Equations

Foldr k z a_1627631719 = Apply (Let1627631724GoSym3 k z a_1627631719) a_1627631719 

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

type family Foldr1 a a :: a Source

Equations

Foldr1 _z_1627676415 `[x]` = x 
Foldr1 f ((:) x ((:) wild_1627675043 wild_1627675045)) = Apply (Apply f x) (Apply (Apply Foldr1Sym0 f) (Let1627676423XsSym4 f x wild_1627675043 wild_1627675045)) 
Foldr1 _z_1627676442 `[]` = Apply ErrorSym0 "Data.Singletons.List.foldr1: empty list" 

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

Special folds

type family Concat a :: [a] Source

Equations

Concat a_1627676399 = Apply (Apply (Apply FoldrSym0 (:++$)) `[]`) a_1627676399 

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

type family ConcatMap a a :: [b] Source

Equations

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

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

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 :: Bool) 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 :: Bool) Source

type family Any_ a a :: Bool Source

Equations

Any_ _z_1627667533 `[]` = 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 :: Bool) Source

type family All a a :: Bool Source

Equations

All _z_1627676368 `[]` = 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 :: Bool) Source

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

Building lists

Scans

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

Equations

Scanl f q ls = Apply (Apply (:$) q) (Case_1627676339 f q ls (Let1627676326Scrutinee_1627675047Sym3 f q ls)) 

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

type family Scanl1 a a :: [a] Source

Equations

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

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

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

Equations

Scanr _z_1627676276 q0 `[]` = Apply (Apply (:$) q0) `[]` 
Scanr f q0 ((:) x xs) = Case_1627676303 f q0 x xs (Let1627676284Scrutinee_1627675049Sym4 f q0 x xs) 

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

type family Scanr1 a a :: [a] Source

Equations

Scanr1 _z_1627676207 `[]` = `[]` 
Scanr1 _z_1627676210 `[x]` = Apply (Apply (:$) x) `[]` 
Scanr1 f ((:) x ((:) wild_1627675053 wild_1627675055)) = Case_1627676256 f x wild_1627675053 wild_1627675055 (Let1627676237Scrutinee_1627675051Sym4 f x wild_1627675053 wild_1627675055) 

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

Accumulating maps

type family MapAccumL a a a :: (acc, [y]) Source

Equations

MapAccumL _z_1627676041 s `[]` = Apply (Apply Tuple2Sym0 s) `[]` 
MapAccumL f s ((:) x xs) = Apply (Apply Tuple2Sym0 (Let1627676049S''Sym4 f s x xs)) (Apply (Apply (:$) (Let1627676049YSym4 f s x xs)) (Let1627676049YsSym4 f s x xs)) 

sMapAccumL :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply MapAccumLSym0 t) t) t :: (acc, [y])) Source

type family MapAccumR a a a :: (acc, [y]) Source

Equations

MapAccumR _z_1627675869 s `[]` = Apply (Apply Tuple2Sym0 s) `[]` 
MapAccumR f s ((:) x xs) = Apply (Apply Tuple2Sym0 (Let1627675877S''Sym4 f s x xs)) (Apply (Apply (:$) (Let1627675877YSym4 f s x xs)) (Let1627675877YsSym4 f s x xs)) 

sMapAccumR :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply MapAccumRSym0 t) t) t :: (acc, [y])) Source

Unfolding

type family Unfoldr a a :: [a] Source

Equations

Unfoldr f b = Case_1627675849 f b (Let1627675841Scrutinee_1627675057Sym2 f b) 

sUnfoldr :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply UnfoldrSym0 t) t :: [a]) Source

Sublists

Extracting sublists

type family Inits a :: [[a]] Source

Equations

Inits xs = Apply (Apply (:$) `[]`) (Case_1627675825 xs (Let1627675821Scrutinee_1627675059Sym1 xs)) 

sInits :: forall t. Sing t -> Sing (Apply InitsSym0 t :: [[a]]) Source

type family Tails a :: [[a]] Source

Equations

Tails xs = Apply (Apply (:$) xs) (Case_1627675798 xs (Let1627675794Scrutinee_1627675061Sym1 xs)) 

sTails :: forall t. Sing t -> Sing (Apply TailsSym0 t :: [[a]]) Source

Predicates

type family IsPrefixOf a a :: Bool Source

Equations

IsPrefixOf `[]` `[]` = TrueSym0 
IsPrefixOf `[]` ((:) _z_1627675773 _z_1627675776) = TrueSym0 
IsPrefixOf ((:) _z_1627675779 _z_1627675782) `[]` = FalseSym0 
IsPrefixOf ((:) x xs) ((:) y ys) = Apply (Apply (:&&$) (Apply (Apply (:==$) x) y)) (Apply (Apply IsPrefixOfSym0 xs) ys) 

sIsPrefixOf :: forall t t. SEq (KProxy :: KProxy a) => Sing t -> Sing t -> Sing (Apply (Apply IsPrefixOfSym0 t) t :: Bool) Source

sIsSuffixOf :: forall t t. SEq (KProxy :: KProxy a) => Sing t -> Sing t -> Sing (Apply (Apply IsSuffixOfSym0 t) t :: Bool) Source

type family IsInfixOf a a :: Bool Source

Equations

IsInfixOf needle haystack = Apply (Apply Any_Sym0 (Apply IsPrefixOfSym0 needle)) (Apply TailsSym0 haystack) 

sIsInfixOf :: forall t t. SEq (KProxy :: KProxy a) => Sing t -> Sing t -> Sing (Apply (Apply IsInfixOfSym0 t) t :: Bool) Source

Searching lists

Searching by equality

type family Elem a a :: Bool Source

Equations

Elem _z_1627675758 `[]` = 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 :: Bool) Source

type family NotElem a a :: Bool Source

Equations

NotElem _z_1627675743 `[]` = 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 :: Bool) 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_1627675722 _z_1627675725) `[]` = `[]` 
Zip `[]` ((:) _z_1627675728 _z_1627675731) = `[]` 

sZip :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply ZipSym0 t) t :: [(a, b)]) 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_1627675655 _z_1627675658) = `[]` 
Zip3 `[]` ((:) _z_1627675661 _z_1627675664) `[]` = `[]` 
Zip3 `[]` ((:) _z_1627675667 _z_1627675670) ((:) _z_1627675673 _z_1627675676) = `[]` 
Zip3 ((:) _z_1627675679 _z_1627675682) `[]` `[]` = `[]` 
Zip3 ((:) _z_1627675685 _z_1627675688) `[]` ((:) _z_1627675691 _z_1627675694) = `[]` 
Zip3 ((:) _z_1627675697 _z_1627675700) ((:) _z_1627675703 _z_1627675706) `[]` = `[]` 

sZip3 :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Zip3Sym0 t) t) t :: [(a, b, c)]) 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_1627675613 `[]` `[]` = `[]` 
ZipWith _z_1627675616 ((:) _z_1627675619 _z_1627675622) `[]` = `[]` 
ZipWith _z_1627675625 `[]` ((:) _z_1627675628 _z_1627675631) = `[]` 

sZipWith :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ZipWithSym0 t) t) t :: [c]) 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_1627675518 `[]` `[]` `[]` = `[]` 
ZipWith3 _z_1627675521 `[]` `[]` ((:) _z_1627675524 _z_1627675527) = `[]` 
ZipWith3 _z_1627675530 `[]` ((:) _z_1627675533 _z_1627675536) `[]` = `[]` 
ZipWith3 _z_1627675539 `[]` ((:) _z_1627675542 _z_1627675545) ((:) _z_1627675548 _z_1627675551) = `[]` 
ZipWith3 _z_1627675554 ((:) _z_1627675557 _z_1627675560) `[]` `[]` = `[]` 
ZipWith3 _z_1627675563 ((:) _z_1627675566 _z_1627675569) `[]` ((:) _z_1627675572 _z_1627675575) = `[]` 
ZipWith3 _z_1627675578 ((:) _z_1627675581 _z_1627675584) ((:) _z_1627675587 _z_1627675590) `[]` = `[]` 

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

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

Equations

Unzip xs = Apply (Apply (Apply FoldrSym0 (Apply Lambda_1627675464Sym0 xs)) (Apply (Apply Tuple2Sym0 `[]`) `[]`)) xs 

sUnzip :: forall t. Sing t -> Sing (Apply UnzipSym0 t :: ([a], [b])) Source

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

Equations

Unzip3 xs = Apply (Apply (Apply FoldrSym0 (Apply Lambda_1627675432Sym0 xs)) (Apply (Apply (Apply Tuple3Sym0 `[]`) `[]`) `[]`)) xs 

sUnzip3 :: forall t. Sing t -> Sing (Apply Unzip3Sym0 t :: ([a], [b], [c])) Source

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

Equations

Unzip4 xs = Apply (Apply (Apply FoldrSym0 (Apply Lambda_1627675398Sym0 xs)) (Apply (Apply (Apply (Apply Tuple4Sym0 `[]`) `[]`) `[]`) `[]`)) xs 

sUnzip4 :: forall t. Sing t -> Sing (Apply Unzip4Sym0 t :: ([a], [b], [c], [d])) Source

type family Unzip5 a :: ([a], [b], [c], [d], [e]) Source

Equations

Unzip5 xs = Apply (Apply (Apply FoldrSym0 (Apply Lambda_1627675362Sym0 xs)) (Apply (Apply (Apply (Apply (Apply Tuple5Sym0 `[]`) `[]`) `[]`) `[]`) `[]`)) xs 

sUnzip5 :: forall t. Sing t -> Sing (Apply Unzip5Sym0 t :: ([a], [b], [c], [d], [e])) Source

type family Unzip6 a :: ([a], [b], [c], [d], [e], [f]) Source

Equations

Unzip6 xs = Apply (Apply (Apply FoldrSym0 (Apply Lambda_1627675324Sym0 xs)) (Apply (Apply (Apply (Apply (Apply (Apply Tuple6Sym0 `[]`) `[]`) `[]`) `[]`) `[]`) `[]`)) xs 

sUnzip6 :: forall t. Sing t -> Sing (Apply Unzip6Sym0 t :: ([a], [b], [c], [d], [e], [f])) Source

type family Unzip7 a :: ([a], [b], [c], [d], [e], [f], [g]) Source

Equations

Unzip7 xs = Apply (Apply (Apply FoldrSym0 (Apply Lambda_1627675284Sym0 xs)) (Apply (Apply (Apply (Apply (Apply (Apply (Apply Tuple7Sym0 `[]`) `[]`) `[]`) `[]`) `[]`) `[]`) `[]`)) xs 

sUnzip7 :: forall t. Sing t -> Sing (Apply Unzip7Sym0 t :: ([a], [b], [c], [d], [e], [f], [g])) Source

Special lists

"Set" operations

type family Delete a a :: [a] Source

Equations

Delete a_1627675249 a_1627675251 = Apply (Apply (Apply DeleteBySym0 (:==$)) a_1627675249) a_1627675251 

sDelete :: forall t t. SEq (KProxy :: KProxy a) => Sing t -> Sing t -> Sing (Apply (Apply DeleteSym0 t) t :: [a]) Source

type family a :\\ a :: [a] infix 5 Source

Equations

a_1627675264 :\\ a_1627675266 = Apply (Apply (Apply FoldlSym0 (Apply FlipSym0 DeleteSym0)) a_1627675264) a_1627675266 

(%:\\) :: forall t t. SEq (KProxy :: KProxy a) => Sing t -> Sing t -> Sing (Apply (Apply (:\\$) t) t :: [a]) infix 5 Source

Ordered lists

Generalized functions

The "By" operations

type family DeleteBy a a a :: [a] Source

Equations

DeleteBy _z_1627675195 _z_1627675198 `[]` = `[]` 
DeleteBy eq x ((:) y ys) = Case_1627675224 eq x y ys (Let1627675205Scrutinee_1627675087Sym4 eq x y ys) 

sDeleteBy :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply DeleteBySym0 t) t) t :: [a]) Source

type family DeleteFirstsBy a a a :: [a] Source

Equations

DeleteFirstsBy eq a_1627675242 a_1627675244 = Apply (Apply (Apply FoldlSym0 (Apply FlipSym0 (Apply DeleteBySym0 eq))) a_1627675242) a_1627675244 

sDeleteFirstsBy :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply DeleteFirstsBySym0 t) t) t :: [a]) Source

type family SortBy a a :: [a] Source

Equations

SortBy cmp a_1627675176 = Apply (Apply (Apply FoldrSym0 (Apply InsertBySym0 cmp)) `[]`) a_1627675176 

sSortBy :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply SortBySym0 t) t :: [a]) Source

type family InsertBy a a a :: [a] Source

Equations

InsertBy _z_1627675118 x `[]` = Apply (Apply (:$) x) `[]` 
InsertBy cmp x ((:) y ys') = Case_1627675164 cmp x y ys' (Let1627675145Scrutinee_1627675089Sym4 cmp x y ys') 

sInsertBy :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply InsertBySym0 t) t) t :: [a]) Source

type family MaximumBy a a :: a Source

Equations

MaximumBy _z_1627676469 `[]` = Apply ErrorSym0 "Data.Singletons.List.maximumBy: empty list" 
MaximumBy cmp ((:) wild_1627675093 wild_1627675095) = Apply (Apply Foldl1Sym0 (Let1627676488MaxBySym3 cmp wild_1627675093 wild_1627675095)) (Let1627676475XsSym3 cmp wild_1627675093 wild_1627675095) 

sMaximumBy :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply MaximumBySym0 t) t :: a) Source

type family MinimumBy a a :: a Source

Equations

MinimumBy _z_1627676556 `[]` = Apply ErrorSym0 "Data.Singletons.List.minimumBy: empty list" 
MinimumBy cmp ((:) wild_1627675099 wild_1627675101) = Apply (Apply Foldl1Sym0 (Let1627676575MinBySym3 cmp wild_1627675099 wild_1627675101)) (Let1627676562XsSym3 cmp wild_1627675099 wild_1627675101) 

sMinimumBy :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply MinimumBySym0 t) t :: a) Source

Defunctionalization symbols

type NilSym0 = `[]` Source

data (:$) l Source

Instances

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

data l :$$ l Source

Instances

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

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

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

data l :++$$ l Source

Instances

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

data (:++$) l Source

Instances

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

data HeadSym0 l Source

Instances

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

type HeadSym1 t = Head t Source

data LastSym0 l Source

Instances

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

type LastSym1 t = Last t Source

data TailSym0 l Source

Instances

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

type TailSym1 t = Tail t Source

data InitSym0 l Source

Instances

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

type InitSym1 t = Init t Source

data NullSym0 l Source

Instances

type NullSym1 t = Null t Source

data MapSym0 l Source

Instances

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

data MapSym1 l l Source

Instances

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

type MapSym2 t t = Map t t Source

data ReverseSym0 l Source

Instances

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

data IntersperseSym0 l Source

Instances

SuppressUnusedWarnings (TyFun k (TyFun [k] [k] -> *) -> *) (IntersperseSym0 k) Source 
type Apply (TyFun [k] [k] -> *) k (IntersperseSym0 k) l0 = IntersperseSym1 k l0 Source 

data IntersperseSym1 l l Source

Instances

SuppressUnusedWarnings (k -> TyFun [k] [k] -> *) (IntersperseSym1 k) Source 
type Apply [k] [k] (IntersperseSym1 k l1) l0 = IntersperseSym2 k l1 l0 Source 

data IntercalateSym0 l Source

Instances

SuppressUnusedWarnings (TyFun [k] (TyFun [[k]] [k] -> *) -> *) (IntercalateSym0 k) Source 
type Apply (TyFun [[k]] [k] -> *) [k] (IntercalateSym0 k) l0 = IntercalateSym1 k l0 Source 

data IntercalateSym1 l l Source

Instances

SuppressUnusedWarnings ([k] -> TyFun [[k]] [k] -> *) (IntercalateSym1 k) Source 
type Apply [k] [[k]] (IntercalateSym1 k l1) l0 = IntercalateSym2 k l1 l0 Source 

data SubsequencesSym0 l Source

Instances

data PermutationsSym0 l Source

Instances

data FoldlSym0 l Source

Instances

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

data FoldlSym1 l l Source

Instances

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

data FoldlSym2 l l l Source

Instances

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

type FoldlSym3 t t t = Foldl t t t Source

data Foldl'Sym0 l Source

Instances

SuppressUnusedWarnings (TyFun (TyFun k (TyFun k k -> *) -> *) (TyFun k (TyFun [k] k -> *) -> *) -> *) (Foldl'Sym0 k k) Source 
type Apply (TyFun k1 (TyFun [k] k1 -> *) -> *) (TyFun k1 (TyFun k k1 -> *) -> *) (Foldl'Sym0 k k1) l0 = Foldl'Sym1 k k1 l0 Source 

data Foldl'Sym1 l l Source

Instances

SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> TyFun k (TyFun [k] k -> *) -> *) (Foldl'Sym1 k k) Source 
type Apply (TyFun [k1] k -> *) k (Foldl'Sym1 k1 k l1) l0 = Foldl'Sym2 k1 k l1 l0 Source 

data Foldl'Sym2 l l l Source

Instances

SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> k -> TyFun [k] k -> *) (Foldl'Sym2 k k) Source 
type Apply k1 [k] (Foldl'Sym2 k k1 l1 l2) l0 = Foldl'Sym3 k1 k l1 l2 l0 Source 

type Foldl'Sym3 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) Source 
type Apply (TyFun [k] k -> *) (TyFun k (TyFun k k -> *) -> *) (Foldl1Sym0 k) l0 = Foldl1Sym1 k l0 Source 

data Foldl1Sym1 l l Source

Instances

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

type Foldl1Sym2 t t = Foldl1 t t Source

data Foldl1'Sym0 l Source

Instances

SuppressUnusedWarnings (TyFun (TyFun k (TyFun k k -> *) -> *) (TyFun [k] k -> *) -> *) (Foldl1'Sym0 k) Source 
type Apply (TyFun [k] k -> *) (TyFun k (TyFun k k -> *) -> *) (Foldl1'Sym0 k) l0 = Foldl1'Sym1 k l0 Source 

data Foldl1'Sym1 l l Source

Instances

SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> TyFun [k] k -> *) (Foldl1'Sym1 k) Source 
type Apply k [k] (Foldl1'Sym1 k l1) l0 = Foldl1'Sym2 k l1 l0 Source 

type Foldl1'Sym2 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) Source 
type Apply (TyFun k1 (TyFun [k] k1 -> *) -> *) (TyFun k (TyFun k1 k1 -> *) -> *) (FoldrSym0 k k1) l0 = FoldrSym1 k k1 l0 Source 

data FoldrSym1 l l Source

Instances

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

data FoldrSym2 l l l Source

Instances

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

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) Source 
type Apply (TyFun [k] k -> *) (TyFun k (TyFun k k -> *) -> *) (Foldr1Sym0 k) l0 = Foldr1Sym1 k l0 Source 

data Foldr1Sym1 l l Source

Instances

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

type Foldr1Sym2 t t = Foldr1 t t Source

data ConcatSym0 l Source

Instances

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

data ConcatMapSym0 l Source

Instances

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

data ConcatMapSym1 l l Source

Instances

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

type AndSym1 t = And t Source

type OrSym1 t = Or t Source

data Any_Sym0 l Source

Instances

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

data Any_Sym1 l l Source

Instances

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

type Any_Sym2 t t = Any_ t t Source

data AllSym0 l Source

Instances

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

data AllSym1 l l Source

Instances

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

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) Source 
type Apply (TyFun k (TyFun [k1] [k] -> *) -> *) (TyFun k (TyFun k1 k -> *) -> *) (ScanlSym0 k k1) l0 = ScanlSym1 k k1 l0 Source 

data ScanlSym1 l l Source

Instances

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

data ScanlSym2 l l l Source

Instances

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

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) Source 
type Apply (TyFun [k] [k] -> *) (TyFun k (TyFun k k -> *) -> *) (Scanl1Sym0 k) l0 = Scanl1Sym1 k l0 Source 

data Scanl1Sym1 l l Source

Instances

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

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) Source 
type Apply (TyFun k1 (TyFun [k] [k1] -> *) -> *) (TyFun k (TyFun k1 k1 -> *) -> *) (ScanrSym0 k k1) l0 = ScanrSym1 k k1 l0 Source 

data ScanrSym1 l l Source

Instances

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

data ScanrSym2 l l l Source

Instances

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

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) Source 
type Apply (TyFun [k] [k] -> *) (TyFun k (TyFun k k -> *) -> *) (Scanr1Sym0 k) l0 = Scanr1Sym1 k l0 Source 

data Scanr1Sym1 l l Source

Instances

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

type Scanr1Sym2 t t = Scanr1 t t Source

data MapAccumLSym0 l Source

Instances

SuppressUnusedWarnings (TyFun (TyFun k (TyFun k ((,) k k) -> *) -> *) (TyFun k (TyFun [k] ((,) k [k]) -> *) -> *) -> *) (MapAccumLSym0 k k k) Source 
type Apply (TyFun k (TyFun [k1] ((,) k [k2]) -> *) -> *) (TyFun k (TyFun k1 ((,) k k2) -> *) -> *) (MapAccumLSym0 k k1 k2) l0 = MapAccumLSym1 k k1 k2 l0 Source 

data MapAccumLSym1 l l Source

Instances

SuppressUnusedWarnings ((TyFun k (TyFun k ((,) k k) -> *) -> *) -> TyFun k (TyFun [k] ((,) k [k]) -> *) -> *) (MapAccumLSym1 k k k) Source 
type Apply (TyFun [k1] ((,) k [k2]) -> *) k (MapAccumLSym1 k k1 k2 l1) l0 = MapAccumLSym2 k k1 k2 l1 l0 Source 

data MapAccumLSym2 l l l Source

Instances

SuppressUnusedWarnings ((TyFun k (TyFun k ((,) k k) -> *) -> *) -> k -> TyFun [k] ((,) k [k]) -> *) (MapAccumLSym2 k k k) Source 
type Apply ((,) k [k2]) [k1] (MapAccumLSym2 k k1 k2 l1 l2) l0 = MapAccumLSym3 k k1 k2 l1 l2 l0 Source 

type MapAccumLSym3 t t t = MapAccumL t t t Source

data MapAccumRSym0 l Source

Instances

SuppressUnusedWarnings (TyFun (TyFun k (TyFun k ((,) k k) -> *) -> *) (TyFun k (TyFun [k] ((,) k [k]) -> *) -> *) -> *) (MapAccumRSym0 k k k) Source 
type Apply (TyFun k (TyFun [k1] ((,) k [k2]) -> *) -> *) (TyFun k (TyFun k1 ((,) k k2) -> *) -> *) (MapAccumRSym0 k k1 k2) l0 = MapAccumRSym1 k k1 k2 l0 Source 

data MapAccumRSym1 l l Source

Instances

SuppressUnusedWarnings ((TyFun k (TyFun k ((,) k k) -> *) -> *) -> TyFun k (TyFun [k] ((,) k [k]) -> *) -> *) (MapAccumRSym1 k k k) Source 
type Apply (TyFun [k1] ((,) k [k2]) -> *) k (MapAccumRSym1 k k1 k2 l1) l0 = MapAccumRSym2 k k1 k2 l1 l0 Source 

data MapAccumRSym2 l l l Source

Instances

SuppressUnusedWarnings ((TyFun k (TyFun k ((,) k k) -> *) -> *) -> k -> TyFun [k] ((,) k [k]) -> *) (MapAccumRSym2 k k k) Source 
type Apply ((,) k [k2]) [k1] (MapAccumRSym2 k k1 k2 l1 l2) l0 = MapAccumRSym3 k k1 k2 l1 l2 l0 Source 

type MapAccumRSym3 t t t = MapAccumR t t t Source

data UnfoldrSym0 l Source

Instances

SuppressUnusedWarnings (TyFun (TyFun k (Maybe ((,) k k)) -> *) (TyFun k [k] -> *) -> *) (UnfoldrSym0 k k) Source 
type Apply (TyFun k [k1] -> *) (TyFun k (Maybe ((,) k1 k)) -> *) (UnfoldrSym0 k k1) l0 = UnfoldrSym1 k k1 l0 Source 

data UnfoldrSym1 l l Source

Instances

SuppressUnusedWarnings ((TyFun k (Maybe ((,) k k)) -> *) -> TyFun k [k] -> *) (UnfoldrSym1 k k) Source 
type Apply [k1] k (UnfoldrSym1 k k1 l1) l0 = UnfoldrSym2 k k1 l1 l0 Source 

type UnfoldrSym2 t t = Unfoldr t t Source

data InitsSym0 l Source

Instances

SuppressUnusedWarnings (TyFun [k] [[k]] -> *) (InitsSym0 k) Source 
type Apply [[k]] [k] (InitsSym0 k) l0 = InitsSym1 k l0 Source 

data TailsSym0 l Source

Instances

SuppressUnusedWarnings (TyFun [k] [[k]] -> *) (TailsSym0 k) Source 
type Apply [[k]] [k] (TailsSym0 k) l0 = TailsSym1 k l0 Source 

data IsPrefixOfSym0 l Source

Instances

SuppressUnusedWarnings (TyFun [k] (TyFun [k] Bool -> *) -> *) (IsPrefixOfSym0 k) Source 
type Apply (TyFun [k] Bool -> *) [k] (IsPrefixOfSym0 k) l0 = IsPrefixOfSym1 k l0 Source 

data IsPrefixOfSym1 l l Source

Instances

SuppressUnusedWarnings ([k] -> TyFun [k] Bool -> *) (IsPrefixOfSym1 k) Source 
type Apply Bool [k] (IsPrefixOfSym1 k l1) l0 = IsPrefixOfSym2 k l1 l0 Source 

data IsSuffixOfSym0 l Source

Instances

SuppressUnusedWarnings (TyFun [k] (TyFun [k] Bool -> *) -> *) (IsSuffixOfSym0 k) Source 
type Apply (TyFun [k] Bool -> *) [k] (IsSuffixOfSym0 k) l0 = IsSuffixOfSym1 k l0 Source 

data IsSuffixOfSym1 l l Source

Instances

SuppressUnusedWarnings ([k] -> TyFun [k] Bool -> *) (IsSuffixOfSym1 k) Source 
type Apply Bool [k] (IsSuffixOfSym1 k l1) l0 = IsSuffixOfSym2 k l1 l0 Source 

data IsInfixOfSym0 l Source

Instances

SuppressUnusedWarnings (TyFun [k] (TyFun [k] Bool -> *) -> *) (IsInfixOfSym0 k) Source 
type Apply (TyFun [k] Bool -> *) [k] (IsInfixOfSym0 k) l0 = IsInfixOfSym1 k l0 Source 

data IsInfixOfSym1 l l Source

Instances

SuppressUnusedWarnings ([k] -> TyFun [k] Bool -> *) (IsInfixOfSym1 k) Source 
type Apply Bool [k] (IsInfixOfSym1 k l1) l0 = IsInfixOfSym2 k l1 l0 Source 

data ElemSym0 l Source

Instances

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

data ElemSym1 l l Source

Instances

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

type ElemSym2 t t = Elem t t Source

data NotElemSym0 l Source

Instances

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

data NotElemSym1 l l Source

Instances

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

type NotElemSym2 t t = NotElem t t Source

data ZipSym0 l Source

Instances

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

data ZipSym1 l l Source

Instances

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

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) Source 
type Apply (TyFun [k1] (TyFun [k2] [(,,) k k1 k2] -> *) -> *) [k] (Zip3Sym0 k k1 k2) l0 = Zip3Sym1 k k1 k2 l0 Source 

data Zip3Sym1 l l Source

Instances

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

data Zip3Sym2 l l l Source

Instances

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

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) Source 
type Apply (TyFun [k] (TyFun [k1] [k2] -> *) -> *) (TyFun k (TyFun k1 k2 -> *) -> *) (ZipWithSym0 k k1 k2) l0 = ZipWithSym1 k k1 k2 l0 Source 

data ZipWithSym1 l l Source

Instances

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

data ZipWithSym2 l l l Source

Instances

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

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) Source 
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 Source 

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) Source 
type Apply (TyFun [k1] (TyFun [k2] [k3] -> *) -> *) [k] (ZipWith3Sym1 k k1 k2 k3 l1) l0 = ZipWith3Sym2 k k1 k2 k3 l1 l0 Source 

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) Source 
type Apply (TyFun [k2] [k3] -> *) [k1] (ZipWith3Sym2 k k1 k2 k3 l1 l2) l0 = ZipWith3Sym3 k k1 k2 k3 l1 l2 l0 Source 

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) Source 
type Apply [k3] [k2] (ZipWith3Sym3 k k1 k2 k3 l1 l2 l3) l0 = ZipWith3Sym4 k k1 k2 k3 l1 l2 l3 l0 Source 

type ZipWith3Sym4 t t t t = ZipWith3 t t t t Source

data UnzipSym0 l Source

Instances

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

data Unzip3Sym0 l Source

Instances

SuppressUnusedWarnings (TyFun [(,,) k k k] ((,,) [k] [k] [k]) -> *) (Unzip3Sym0 k k k) Source 
type Apply ((,,) [k] [k1] [k2]) [(,,) k k1 k2] (Unzip3Sym0 k k1 k2) l0 = Unzip3Sym1 k k1 k2 l0 Source 

data Unzip4Sym0 l Source

Instances

SuppressUnusedWarnings (TyFun [(,,,) k k k k] ((,,,) [k] [k] [k] [k]) -> *) (Unzip4Sym0 k k k k) Source 
type Apply ((,,,) [k] [k1] [k2] [k3]) [(,,,) k k1 k2 k3] (Unzip4Sym0 k k1 k2 k3) l0 = Unzip4Sym1 k k1 k2 k3 l0 Source 

data Unzip5Sym0 l Source

Instances

SuppressUnusedWarnings (TyFun [(,,,,) k k k k k] ((,,,,) [k] [k] [k] [k] [k]) -> *) (Unzip5Sym0 k k k k k) Source 
type Apply ((,,,,) [k] [k1] [k2] [k3] [k4]) [(,,,,) k k1 k2 k3 k4] (Unzip5Sym0 k k1 k2 k3 k4) l0 = Unzip5Sym1 k k1 k2 k3 k4 l0 Source 

data Unzip6Sym0 l Source

Instances

SuppressUnusedWarnings (TyFun [(,,,,,) k k k k k k] ((,,,,,) [k] [k] [k] [k] [k] [k]) -> *) (Unzip6Sym0 k k k k k k) Source 
type Apply ((,,,,,) [k] [k1] [k2] [k3] [k4] [k5]) [(,,,,,) k k1 k2 k3 k4 k5] (Unzip6Sym0 k k1 k2 k3 k4 k5) l0 = Unzip6Sym1 k k1 k2 k3 k4 k5 l0 Source 

data Unzip7Sym0 l Source

Instances

SuppressUnusedWarnings (TyFun [(,,,,,,) k k k k k k k] ((,,,,,,) [k] [k] [k] [k] [k] [k] [k]) -> *) (Unzip7Sym0 k k k k k k k) Source 
type Apply ((,,,,,,) [k] [k1] [k2] [k3] [k4] [k5] [k6]) [(,,,,,,) k k1 k2 k3 k4 k5 k6] (Unzip7Sym0 k k1 k2 k3 k4 k5 k6) l0 = Unzip7Sym1 k k1 k2 k3 k4 k5 k6 l0 Source 

data DeleteSym0 l Source

Instances

SuppressUnusedWarnings (TyFun k (TyFun [k] [k] -> *) -> *) (DeleteSym0 k) Source 
type Apply (TyFun [k] [k] -> *) k (DeleteSym0 k) l0 = DeleteSym1 k l0 Source 

data DeleteSym1 l l Source

Instances

SuppressUnusedWarnings (k -> TyFun [k] [k] -> *) (DeleteSym1 k) Source 
type Apply [k] [k] (DeleteSym1 k l1) l0 = DeleteSym2 k l1 l0 Source 

type DeleteSym2 t t = Delete t t Source

data (:\\$) l Source

Instances

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

data l :\\$$ l Source

Instances

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

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

data DeleteBySym0 l Source

Instances

SuppressUnusedWarnings (TyFun (TyFun k (TyFun k Bool -> *) -> *) (TyFun k (TyFun [k] [k] -> *) -> *) -> *) (DeleteBySym0 k) Source 
type Apply (TyFun k (TyFun [k] [k] -> *) -> *) (TyFun k (TyFun k Bool -> *) -> *) (DeleteBySym0 k) l0 = DeleteBySym1 k l0 Source 

data DeleteBySym1 l l Source

Instances

SuppressUnusedWarnings ((TyFun k (TyFun k Bool -> *) -> *) -> TyFun k (TyFun [k] [k] -> *) -> *) (DeleteBySym1 k) Source 
type Apply (TyFun [k] [k] -> *) k (DeleteBySym1 k l1) l0 = DeleteBySym2 k l1 l0 Source 

data DeleteBySym2 l l l Source

Instances

SuppressUnusedWarnings ((TyFun k (TyFun k Bool -> *) -> *) -> k -> TyFun [k] [k] -> *) (DeleteBySym2 k) Source 
type Apply [k] [k] (DeleteBySym2 k l1 l2) l0 = DeleteBySym3 k l1 l2 l0 Source 

type DeleteBySym3 t t t = DeleteBy t t t Source

data DeleteFirstsBySym0 l Source

Instances

SuppressUnusedWarnings (TyFun (TyFun k (TyFun k Bool -> *) -> *) (TyFun [k] (TyFun [k] [k] -> *) -> *) -> *) (DeleteFirstsBySym0 k) Source 
type Apply (TyFun [k] (TyFun [k] [k] -> *) -> *) (TyFun k (TyFun k Bool -> *) -> *) (DeleteFirstsBySym0 k) l0 = DeleteFirstsBySym1 k l0 Source 

data DeleteFirstsBySym1 l l Source

Instances

SuppressUnusedWarnings ((TyFun k (TyFun k Bool -> *) -> *) -> TyFun [k] (TyFun [k] [k] -> *) -> *) (DeleteFirstsBySym1 k) Source 
type Apply (TyFun [k] [k] -> *) [k] (DeleteFirstsBySym1 k l1) l0 = DeleteFirstsBySym2 k l1 l0 Source 

data DeleteFirstsBySym2 l l l Source

Instances

SuppressUnusedWarnings ((TyFun k (TyFun k Bool -> *) -> *) -> [k] -> TyFun [k] [k] -> *) (DeleteFirstsBySym2 k) Source 
type Apply [k] [k] (DeleteFirstsBySym2 k l1 l2) l0 = DeleteFirstsBySym3 k l1 l2 l0 Source 

data SortBySym0 l Source

Instances

SuppressUnusedWarnings (TyFun (TyFun k (TyFun k Ordering -> *) -> *) (TyFun [k] [k] -> *) -> *) (SortBySym0 k) Source 
type Apply (TyFun [k] [k] -> *) (TyFun k (TyFun k Ordering -> *) -> *) (SortBySym0 k) l0 = SortBySym1 k l0 Source 

data SortBySym1 l l Source

Instances

SuppressUnusedWarnings ((TyFun k (TyFun k Ordering -> *) -> *) -> TyFun [k] [k] -> *) (SortBySym1 k) Source 
type Apply [k] [k] (SortBySym1 k l1) l0 = SortBySym2 k l1 l0 Source 

type SortBySym2 t t = SortBy t t Source

data InsertBySym0 l Source

Instances

SuppressUnusedWarnings (TyFun (TyFun k (TyFun k Ordering -> *) -> *) (TyFun k (TyFun [k] [k] -> *) -> *) -> *) (InsertBySym0 k) Source 
type Apply (TyFun k (TyFun [k] [k] -> *) -> *) (TyFun k (TyFun k Ordering -> *) -> *) (InsertBySym0 k) l0 = InsertBySym1 k l0 Source 

data InsertBySym1 l l Source

Instances

SuppressUnusedWarnings ((TyFun k (TyFun k Ordering -> *) -> *) -> TyFun k (TyFun [k] [k] -> *) -> *) (InsertBySym1 k) Source 
type Apply (TyFun [k] [k] -> *) k (InsertBySym1 k l1) l0 = InsertBySym2 k l1 l0 Source 

data InsertBySym2 l l l Source

Instances

SuppressUnusedWarnings ((TyFun k (TyFun k Ordering -> *) -> *) -> k -> TyFun [k] [k] -> *) (InsertBySym2 k) Source 
type Apply [k] [k] (InsertBySym2 k l1 l2) l0 = InsertBySym3 k l1 l2 l0 Source 

type InsertBySym3 t t t = InsertBy t t t Source

data MaximumBySym0 l Source

Instances

SuppressUnusedWarnings (TyFun (TyFun k (TyFun k Ordering -> *) -> *) (TyFun [k] k -> *) -> *) (MaximumBySym0 k) Source 
type Apply (TyFun [k] k -> *) (TyFun k (TyFun k Ordering -> *) -> *) (MaximumBySym0 k) l0 = MaximumBySym1 k l0 Source 

data MaximumBySym1 l l Source

Instances

SuppressUnusedWarnings ((TyFun k (TyFun k Ordering -> *) -> *) -> TyFun [k] k -> *) (MaximumBySym1 k) Source 
type Apply k [k] (MaximumBySym1 k l1) l0 = MaximumBySym2 k l1 l0 Source 

data MinimumBySym0 l Source

Instances

SuppressUnusedWarnings (TyFun (TyFun k (TyFun k Ordering -> *) -> *) (TyFun [k] k -> *) -> *) (MinimumBySym0 k) Source 
type Apply (TyFun [k] k -> *) (TyFun k (TyFun k Ordering -> *) -> *) (MinimumBySym0 k) l0 = MinimumBySym1 k l0 Source 

data MinimumBySym1 l l Source

Instances

SuppressUnusedWarnings ((TyFun k (TyFun k Ordering -> *) -> *) -> TyFun [k] k -> *) (MinimumBySym1 k) Source 
type Apply k [k] (MinimumBySym1 k l1) l0 = MinimumBySym2 k l1 l0 Source