singletons-2.7: A framework for generating singleton types
Copyright(C) 2013-2014 Richard Eisenberg Jan Stolarek
LicenseBSD-style (see LICENSE)
MaintainerRyan Scott
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Data.Singletons.Prelude.List

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

type family Sing Source #

The singleton kind-indexed type family.

Instances

Instances details
type Sing Source # 
Instance details

Defined in Data.Singletons.Prelude.Instances

type Sing = SBool
type Sing Source # 
Instance details

Defined in Data.Singletons.Prelude.Instances

type Sing Source # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

type Sing = SNat
type Sing Source # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

type Sing = SSymbol
type Sing Source # 
Instance details

Defined in Data.Singletons.Prelude.Instances

type Sing = STuple0
type Sing Source # 
Instance details

Defined in Data.Singletons.Prelude.Instances

type Sing = SVoid
type Sing Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Sing = SAll
type Sing Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Sing = SAny
type Sing Source # 
Instance details

Defined in Data.Singletons.TypeError

type Sing Source # 
Instance details

Defined in Data.Singletons.Prelude.Instances

type Sing = SList :: [a] -> Type
type Sing Source # 
Instance details

Defined in Data.Singletons.Prelude.Instances

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

A choice of singleton for the kind TYPE rep (for some RuntimeRep rep), an instantiation of which is the famous kind Type.

Conceivably, one could generalize this instance to `Sing @k` for any kind k, and remove all other Sing instances. We don't adopt this design, however, since it is far more convenient in practice to work with explicit singleton values than TypeReps (for instance, TypeReps are more difficult to pattern match on, and require extra runtime checks).

We cannot produce explicit singleton values for everything in TYPE rep, however, since it is an open kind, so we reach for TypeRep in this one particular case.

Instance details

Defined in Data.Singletons.TypeRepTYPE

type Sing = TypeRep :: TYPE rep -> Type
type Sing Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Sing = SMin :: Min a -> Type
type Sing Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Sing = SMax :: Max a -> Type
type Sing Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Sing = SFirst :: First a -> Type
type Sing Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Sing = SLast :: Last a -> Type
type Sing Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Sing Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Sing = SOption :: Option a -> Type
type Sing Source # 
Instance details

Defined in Data.Singletons.Prelude.Instances

type Sing = SIdentity :: Identity a -> Type
type Sing Source # 
Instance details

Defined in Data.Singletons.Prelude.Monoid

type Sing = SFirst :: First a -> Type
type Sing Source # 
Instance details

Defined in Data.Singletons.Prelude.Monoid

type Sing = SLast :: Last a -> Type
type Sing Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Sing = SDual :: Dual a -> Type
type Sing Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Sing = SSum :: Sum a -> Type
type Sing Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

type Sing = SProduct :: Product a -> Type
type Sing Source # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Sing = SDown :: Down a -> Type
type Sing Source # 
Instance details

Defined in Data.Singletons.Prelude.Instances

type Sing = SNonEmpty :: NonEmpty a -> Type
type Sing Source # 
Instance details

Defined in Data.Singletons.Prelude.Instances

type Sing = SEither :: Either a b -> Type
type Sing Source # 
Instance details

Defined in Data.Singletons.Prelude.Instances

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

Defined in Data.Singletons.Prelude.Semigroup

type Sing = SArg :: Arg a b -> Type
type Sing Source # 
Instance details

Defined in Data.Singletons.Prelude.Proxy

type Sing = SProxy :: Proxy t -> Type
type Sing Source # 
Instance details

Defined in Data.Singletons.Internal

type Sing = SLambda :: (k1 ~> k2) -> Type
type Sing Source # 
Instance details

Defined in Data.Singletons.Internal

type Sing Source # 
Instance details

Defined in Data.Singletons.Sigma

type Sing = SSigma :: Sigma s t -> Type
type Sing Source # 
Instance details

Defined in Data.Singletons.Prelude.Instances

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

Defined in Data.Singletons.Prelude.Const

type Sing = SConst :: Const a b -> Type
type Sing Source # 
Instance details

Defined in Data.Singletons.Prelude.Instances

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

Defined in Data.Singletons.Prelude.Instances

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

Defined in Data.Singletons.Prelude.Instances

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

Defined in Data.Singletons.Prelude.Instances

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

data SList z where Source #

Constructors

SNil :: forall (a :: Type). SList ('[] :: [a :: Type]) 
SCons :: forall (a :: Type) (n :: a) (n :: [a]). (Sing n) -> (Sing n) -> SList ('(:) n n :: [a :: Type]) infixr 5 

Instances

Instances details
(SDecide a, SDecide [a]) => TestCoercion (SList :: [a] -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Instances

Methods

testCoercion :: forall (a0 :: k) (b :: k). SList a0 -> SList b -> Maybe (Coercion a0 b) #

(SDecide a, SDecide [a]) => TestEquality (SList :: [a] -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Instances

Methods

testEquality :: forall (a0 :: k) (b :: k). SList a0 -> SList b -> Maybe (a0 :~: b) #

(ShowSing a, ShowSing [a]) => Show (SList z) Source # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> SList z -> ShowS #

show :: SList z -> String #

showList :: [SList z] -> ShowS #

Basic functions

type family a ++ a where ... infixr 5 Source #

Equations

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

(%++) :: forall a (t :: [a]) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply (++@#@$) t) t :: [a]) infixr 5 Source #

type family Head a where ... Source #

Equations

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

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

type family Last a where ... Source #

Equations

Last '[] = Apply ErrorSym0 "Data.Singletons.List.last: empty list" 
Last '[x] = x 
Last ('(:) _ ('(:) x xs)) = Apply LastSym0 (Apply (Apply (:@#@$) x) xs) 

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

type family Tail a where ... Source #

Equations

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

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

type family Init a where ... Source #

Equations

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

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

type family Null (arg :: t a) :: Bool Source #

Instances

Instances details
type Null (a2 :: [a1]) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Null (a2 :: [a1])
type Null (arg :: Maybe a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Null (arg :: Maybe a)
type Null (arg :: Min a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Null (arg :: Min a)
type Null (arg :: Max a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Null (arg :: Max a)
type Null (arg :: First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Null (arg :: First a)
type Null (arg :: Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Null (arg :: Last a)
type Null (arg :: Option a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Null (arg :: Option a)
type Null (a2 :: Identity a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Identity

type Null (a2 :: Identity a1)
type Null (arg :: First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Null (arg :: First a)
type Null (arg :: Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Null (arg :: Last a)
type Null (a2 :: Dual a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Null (a2 :: Dual a1)
type Null (a2 :: Sum a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Null (a2 :: Sum a1)
type Null (a2 :: Product a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Null (a2 :: Product a1)
type Null (arg :: NonEmpty a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Null (arg :: NonEmpty a)
type Null (a3 :: Either a1 a2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Null (a3 :: Either a1 a2)
type Null (arg :: (a1, a2)) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Null (arg :: (a1, a2))
type Null (arg :: Arg a1 a2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Null (arg :: Arg a1 a2)
type Null (a2 :: Proxy a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Null (a2 :: Proxy a1)
type Null (arg :: Const m a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Const

type Null (arg :: Const m a)

sNull :: forall a (t :: t a). SFoldable t => Sing t -> Sing (Apply NullSym0 t :: Bool) Source #

type family Length (arg :: t a) :: Nat Source #

Instances

Instances details
type Length (a2 :: [a1]) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Length (a2 :: [a1])
type Length (arg :: Maybe a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Length (arg :: Maybe a)
type Length (arg :: Min a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Length (arg :: Min a)
type Length (arg :: Max a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Length (arg :: Max a)
type Length (arg :: First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Length (arg :: First a)
type Length (arg :: Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Length (arg :: Last a)
type Length (arg :: Option a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Length (arg :: Option a)
type Length (a2 :: Identity a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Identity

type Length (a2 :: Identity a1)
type Length (arg :: First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Length (arg :: First a)
type Length (arg :: Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Length (arg :: Last a)
type Length (a2 :: Dual a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Length (a2 :: Dual a1)
type Length (a2 :: Sum a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Length (a2 :: Sum a1)
type Length (a2 :: Product a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Length (a2 :: Product a1)
type Length (arg :: NonEmpty a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Length (arg :: NonEmpty a)
type Length (a3 :: Either a1 a2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Length (a3 :: Either a1 a2)
type Length (arg :: (a1, a2)) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Length (arg :: (a1, a2))
type Length (arg :: Arg a1 a2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Length (arg :: Arg a1 a2)
type Length (a2 :: Proxy a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Length (a2 :: Proxy a1)
type Length (arg :: Const m a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Const

type Length (arg :: Const m a)

sLength :: forall a (t :: t a). SFoldable t => Sing t -> Sing (Apply LengthSym0 t :: Nat) Source #

List transformations

type family Map a a where ... Source #

Equations

Map _ '[] = NilSym0 
Map f ('(:) x xs) = Apply (Apply (:@#@$) (Apply f x)) (Apply (Apply MapSym0 f) xs) 

sMap :: forall a b (t :: (~>) a b) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply MapSym0 t) t :: [b]) Source #

type family Reverse a where ... Source #

Equations

Reverse l = Apply (Apply (Let6989586621679970002RevSym1 l) l) NilSym0 

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

type family Intersperse a a where ... Source #

Equations

Intersperse _ '[] = NilSym0 
Intersperse sep ('(:) x xs) = Apply (Apply (:@#@$) x) (Apply (Apply PrependToAllSym0 sep) xs) 

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

type family Intercalate a a where ... Source #

Equations

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

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

type family Transpose a where ... Source #

Equations

Transpose '[] = NilSym0 
Transpose ('(:) '[] xss) = Apply TransposeSym0 xss 
Transpose ('(:) ('(:) x xs) xss) = Apply (Apply (:@#@$) (Apply (Apply (:@#@$) x) (Apply (Apply MapSym0 HeadSym0) xss))) (Apply TransposeSym0 (Apply (Apply (:@#@$) xs) (Apply (Apply MapSym0 TailSym0) xss))) 

sTranspose :: forall a (t :: [[a]]). Sing t -> Sing (Apply TransposeSym0 t :: [[a]]) Source #

type family Subsequences a where ... Source #

Equations

Subsequences xs = Apply (Apply (:@#@$) NilSym0) (Apply NonEmptySubsequencesSym0 xs) 

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

type family Permutations a where ... Source #

Equations

Permutations xs0 = Apply (Apply (:@#@$) xs0) (Apply (Apply (Let6989586621679969909PermsSym1 xs0) xs0) NilSym0) 

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

Reducing lists (folds)

type family Foldl (arg :: (~>) b ((~>) a b)) (arg :: b) (arg :: t a) :: b Source #

Instances

Instances details
type Foldl (a2 :: k2 ~> (a1 ~> k2)) (a3 :: k2) (a4 :: Maybe a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldl (a2 :: k2 ~> (a1 ~> k2)) (a3 :: k2) (a4 :: Maybe a1)
type Foldl (a2 :: k2 ~> (a1 ~> k2)) (a3 :: k2) (a4 :: [a1]) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldl (a2 :: k2 ~> (a1 ~> k2)) (a3 :: k2) (a4 :: [a1])
type Foldl (a2 :: k2 ~> (a1 ~> k2)) (a3 :: k2) (a4 :: NonEmpty a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldl (a2 :: k2 ~> (a1 ~> k2)) (a3 :: k2) (a4 :: NonEmpty a1)
type Foldl (a2 :: k2 ~> (a1 ~> k2)) (a3 :: k2) (a4 :: Dual a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldl (a2 :: k2 ~> (a1 ~> k2)) (a3 :: k2) (a4 :: Dual a1)
type Foldl (a2 :: k2 ~> (a1 ~> k2)) (a3 :: k2) (a4 :: Sum a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldl (a2 :: k2 ~> (a1 ~> k2)) (a3 :: k2) (a4 :: Sum a1)
type Foldl (a2 :: k2 ~> (a1 ~> k2)) (a3 :: k2) (a4 :: Product a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldl (a2 :: k2 ~> (a1 ~> k2)) (a3 :: k2) (a4 :: Product a1)
type Foldl (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldl (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: First a)
type Foldl (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldl (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: Last a)
type Foldl (a2 :: k2 ~> (a1 ~> k2)) (a3 :: k2) (a4 :: Identity a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Identity

type Foldl (a2 :: k2 ~> (a1 ~> k2)) (a3 :: k2) (a4 :: Identity a1)
type Foldl (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: Min a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Foldl (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: Min a)
type Foldl (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: Max a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Foldl (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: Max a)
type Foldl (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Foldl (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: First a)
type Foldl (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Foldl (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: Last a)
type Foldl (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: Option a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Foldl (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: Option a)
type Foldl (arg1 :: b ~> (a1 ~> b)) (arg2 :: b) (arg3 :: Either a2 a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldl (arg1 :: b ~> (a1 ~> b)) (arg2 :: b) (arg3 :: Either a2 a1)
type Foldl (a2 :: k2 ~> (a1 ~> k2)) (a3 :: k2) (a4 :: Proxy a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldl (a2 :: k2 ~> (a1 ~> k2)) (a3 :: k2) (a4 :: Proxy a1)
type Foldl (arg1 :: b ~> (a1 ~> b)) (arg2 :: b) (arg3 :: (a2, a1)) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldl (arg1 :: b ~> (a1 ~> b)) (arg2 :: b) (arg3 :: (a2, a1))
type Foldl (arg1 :: b ~> (a1 ~> b)) (arg2 :: b) (arg3 :: Arg a2 a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Foldl (arg1 :: b ~> (a1 ~> b)) (arg2 :: b) (arg3 :: Arg a2 a1)
type Foldl (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: Const m a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Const

type Foldl (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: Const m a)

sFoldl :: forall b a (t :: (~>) b ((~>) a b)) (t :: b) (t :: t a). SFoldable t => Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldlSym0 t) t) t :: b) Source #

type family Foldl' (arg :: (~>) b ((~>) a b)) (arg :: b) (arg :: t a) :: b Source #

Instances

Instances details
type Foldl' (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: Maybe a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldl' (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: Maybe a)
type Foldl' (a2 :: k2 ~> (a1 ~> k2)) (a3 :: k2) (a4 :: [a1]) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldl' (a2 :: k2 ~> (a1 ~> k2)) (a3 :: k2) (a4 :: [a1])
type Foldl' (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: NonEmpty a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldl' (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: NonEmpty a)
type Foldl' (a2 :: k2 ~> (a1 ~> k2)) (a3 :: k2) (a4 :: Dual a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldl' (a2 :: k2 ~> (a1 ~> k2)) (a3 :: k2) (a4 :: Dual a1)
type Foldl' (a2 :: k2 ~> (a1 ~> k2)) (a3 :: k2) (a4 :: Sum a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldl' (a2 :: k2 ~> (a1 ~> k2)) (a3 :: k2) (a4 :: Sum a1)
type Foldl' (a2 :: k2 ~> (a1 ~> k2)) (a3 :: k2) (a4 :: Product a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldl' (a2 :: k2 ~> (a1 ~> k2)) (a3 :: k2) (a4 :: Product a1)
type Foldl' (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldl' (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: First a)
type Foldl' (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldl' (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: Last a)
type Foldl' (a2 :: k2 ~> (a1 ~> k2)) (a3 :: k2) (a4 :: Identity a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Identity

type Foldl' (a2 :: k2 ~> (a1 ~> k2)) (a3 :: k2) (a4 :: Identity a1)
type Foldl' (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: Min a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Foldl' (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: Min a)
type Foldl' (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: Max a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Foldl' (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: Max a)
type Foldl' (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Foldl' (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: First a)
type Foldl' (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Foldl' (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: Last a)
type Foldl' (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: Option a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Foldl' (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: Option a)
type Foldl' (arg1 :: b ~> (a1 ~> b)) (arg2 :: b) (arg3 :: Either a2 a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldl' (arg1 :: b ~> (a1 ~> b)) (arg2 :: b) (arg3 :: Either a2 a1)
type Foldl' (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: Proxy a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldl' (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: Proxy a)
type Foldl' (arg1 :: b ~> (a1 ~> b)) (arg2 :: b) (arg3 :: (a2, a1)) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldl' (arg1 :: b ~> (a1 ~> b)) (arg2 :: b) (arg3 :: (a2, a1))
type Foldl' (arg1 :: b ~> (a1 ~> b)) (arg2 :: b) (arg3 :: Arg a2 a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Foldl' (arg1 :: b ~> (a1 ~> b)) (arg2 :: b) (arg3 :: Arg a2 a1)
type Foldl' (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: Const m a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Const

type Foldl' (arg1 :: b ~> (a ~> b)) (arg2 :: b) (arg3 :: Const m a)

sFoldl' :: forall b a (t :: (~>) b ((~>) a b)) (t :: b) (t :: t a). SFoldable t => Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Foldl'Sym0 t) t) t :: b) Source #

type family Foldl1 (arg :: (~>) a ((~>) a a)) (arg :: t a) :: a Source #

Instances

Instances details
type Foldl1 (arg1 :: a ~> (a ~> a)) (arg2 :: Maybe a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldl1 (arg1 :: a ~> (a ~> a)) (arg2 :: Maybe a)
type Foldl1 (a1 :: k2 ~> (k2 ~> k2)) (a2 :: [k2]) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldl1 (a1 :: k2 ~> (k2 ~> k2)) (a2 :: [k2])
type Foldl1 (a1 :: k2 ~> (k2 ~> k2)) (a2 :: NonEmpty k2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldl1 (a1 :: k2 ~> (k2 ~> k2)) (a2 :: NonEmpty k2)
type Foldl1 (a1 :: k2 ~> (k2 ~> k2)) (a2 :: Dual k2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldl1 (a1 :: k2 ~> (k2 ~> k2)) (a2 :: Dual k2)
type Foldl1 (a1 :: k2 ~> (k2 ~> k2)) (a2 :: Sum k2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldl1 (a1 :: k2 ~> (k2 ~> k2)) (a2 :: Sum k2)
type Foldl1 (a1 :: k2 ~> (k2 ~> k2)) (a2 :: Product k2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldl1 (a1 :: k2 ~> (k2 ~> k2)) (a2 :: Product k2)
type Foldl1 (arg1 :: a ~> (a ~> a)) (arg2 :: First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldl1 (arg1 :: a ~> (a ~> a)) (arg2 :: First a)
type Foldl1 (arg1 :: a ~> (a ~> a)) (arg2 :: Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldl1 (arg1 :: a ~> (a ~> a)) (arg2 :: Last a)
type Foldl1 (a1 :: k2 ~> (k2 ~> k2)) (a2 :: Identity k2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Identity

type Foldl1 (a1 :: k2 ~> (k2 ~> k2)) (a2 :: Identity k2)
type Foldl1 (arg1 :: a ~> (a ~> a)) (arg2 :: Min a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Foldl1 (arg1 :: a ~> (a ~> a)) (arg2 :: Min a)
type Foldl1 (arg1 :: a ~> (a ~> a)) (arg2 :: Max a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Foldl1 (arg1 :: a ~> (a ~> a)) (arg2 :: Max a)
type Foldl1 (arg1 :: a ~> (a ~> a)) (arg2 :: First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Foldl1 (arg1 :: a ~> (a ~> a)) (arg2 :: First a)
type Foldl1 (arg1 :: a ~> (a ~> a)) (arg2 :: Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Foldl1 (arg1 :: a ~> (a ~> a)) (arg2 :: Last a)
type Foldl1 (arg1 :: a ~> (a ~> a)) (arg2 :: Option a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Foldl1 (arg1 :: a ~> (a ~> a)) (arg2 :: Option a)
type Foldl1 (arg1 :: a1 ~> (a1 ~> a1)) (arg2 :: Either a2 a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldl1 (arg1 :: a1 ~> (a1 ~> a1)) (arg2 :: Either a2 a1)
type Foldl1 (a1 :: k2 ~> (k2 ~> k2)) (a2 :: Proxy k2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldl1 (a1 :: k2 ~> (k2 ~> k2)) (a2 :: Proxy k2)
type Foldl1 (arg1 :: a1 ~> (a1 ~> a1)) (arg2 :: (a2, a1)) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldl1 (arg1 :: a1 ~> (a1 ~> a1)) (arg2 :: (a2, a1))
type Foldl1 (arg1 :: a1 ~> (a1 ~> a1)) (arg2 :: Arg a2 a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Foldl1 (arg1 :: a1 ~> (a1 ~> a1)) (arg2 :: Arg a2 a1)
type Foldl1 (arg1 :: a ~> (a ~> a)) (arg2 :: Const m a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Const

type Foldl1 (arg1 :: a ~> (a ~> a)) (arg2 :: Const m a)

sFoldl1 :: forall a (t :: (~>) a ((~>) a a)) (t :: t a). SFoldable t => Sing t -> Sing t -> Sing (Apply (Apply Foldl1Sym0 t) t :: a) Source #

type family Foldl1' a a where ... Source #

Equations

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

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

type family Foldr (arg :: (~>) a ((~>) b b)) (arg :: b) (arg :: t a) :: b Source #

Instances

Instances details
type Foldr (a2 :: a1 ~> (k2 ~> k2)) (a3 :: k2) (a4 :: Maybe a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldr (a2 :: a1 ~> (k2 ~> k2)) (a3 :: k2) (a4 :: Maybe a1)
type Foldr (a2 :: a1 ~> (k2 ~> k2)) (a3 :: k2) (a4 :: [a1]) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldr (a2 :: a1 ~> (k2 ~> k2)) (a3 :: k2) (a4 :: [a1])
type Foldr (a2 :: a1 ~> (k2 ~> k2)) (a3 :: k2) (a4 :: NonEmpty a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldr (a2 :: a1 ~> (k2 ~> k2)) (a3 :: k2) (a4 :: NonEmpty a1)
type Foldr (a2 :: a1 ~> (k2 ~> k2)) (a3 :: k2) (a4 :: Dual a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldr (a2 :: a1 ~> (k2 ~> k2)) (a3 :: k2) (a4 :: Dual a1)
type Foldr (a2 :: a1 ~> (k2 ~> k2)) (a3 :: k2) (a4 :: Sum a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldr (a2 :: a1 ~> (k2 ~> k2)) (a3 :: k2) (a4 :: Sum a1)
type Foldr (a2 :: a1 ~> (k2 ~> k2)) (a3 :: k2) (a4 :: Product a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldr (a2 :: a1 ~> (k2 ~> k2)) (a3 :: k2) (a4 :: Product a1)
type Foldr (a2 :: a1 ~> (k2 ~> k2)) (a3 :: k2) (a4 :: First a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldr (a2 :: a1 ~> (k2 ~> k2)) (a3 :: k2) (a4 :: First a1)
type Foldr (a2 :: a1 ~> (k2 ~> k2)) (a3 :: k2) (a4 :: Last a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldr (a2 :: a1 ~> (k2 ~> k2)) (a3 :: k2) (a4 :: Last a1)
type Foldr (a2 :: a1 ~> (k2 ~> k2)) (a3 :: k2) (a4 :: Identity a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Identity

type Foldr (a2 :: a1 ~> (k2 ~> k2)) (a3 :: k2) (a4 :: Identity a1)
type Foldr (a2 :: a1 ~> (k2 ~> k2)) (a3 :: k2) (a4 :: Min a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Foldr (a2 :: a1 ~> (k2 ~> k2)) (a3 :: k2) (a4 :: Min a1)
type Foldr (a2 :: a1 ~> (k2 ~> k2)) (a3 :: k2) (a4 :: Max a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Foldr (a2 :: a1 ~> (k2 ~> k2)) (a3 :: k2) (a4 :: Max a1)
type Foldr (a2 :: a1 ~> (k2 ~> k2)) (a3 :: k2) (a4 :: First a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Foldr (a2 :: a1 ~> (k2 ~> k2)) (a3 :: k2) (a4 :: First a1)
type Foldr (a2 :: a1 ~> (k2 ~> k2)) (a3 :: k2) (a4 :: Last a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Foldr (a2 :: a1 ~> (k2 ~> k2)) (a3 :: k2) (a4 :: Last a1)
type Foldr (arg1 :: a ~> (b ~> b)) (arg2 :: b) (arg3 :: Option a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Foldr (arg1 :: a ~> (b ~> b)) (arg2 :: b) (arg3 :: Option a)
type Foldr (a3 :: a1 ~> (k2 ~> k2)) (a4 :: k2) (a5 :: Either a2 a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldr (a3 :: a1 ~> (k2 ~> k2)) (a4 :: k2) (a5 :: Either a2 a1)
type Foldr (a2 :: a1 ~> (k2 ~> k2)) (a3 :: k2) (a4 :: Proxy a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldr (a2 :: a1 ~> (k2 ~> k2)) (a3 :: k2) (a4 :: Proxy a1)
type Foldr (a3 :: a1 ~> (k2 ~> k2)) (a4 :: k2) (a5 :: (a2, a1)) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldr (a3 :: a1 ~> (k2 ~> k2)) (a4 :: k2) (a5 :: (a2, a1))
type Foldr (a3 :: a1 ~> (k2 ~> k2)) (a4 :: k2) (a5 :: Arg a2 a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Foldr (a3 :: a1 ~> (k2 ~> k2)) (a4 :: k2) (a5 :: Arg a2 a1)
type Foldr (a2 :: a1 ~> (k2 ~> k2)) (a3 :: k2) (a4 :: Const m a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Const

type Foldr (a2 :: a1 ~> (k2 ~> k2)) (a3 :: k2) (a4 :: Const m a1)

sFoldr :: forall a b (t :: (~>) a ((~>) b b)) (t :: b) (t :: t a). SFoldable t => Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply FoldrSym0 t) t) t :: b) Source #

type family Foldr1 (arg :: (~>) a ((~>) a a)) (arg :: t a) :: a Source #

Instances

Instances details
type Foldr1 (arg1 :: a ~> (a ~> a)) (arg2 :: Maybe a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldr1 (arg1 :: a ~> (a ~> a)) (arg2 :: Maybe a)
type Foldr1 (a1 :: k2 ~> (k2 ~> k2)) (a2 :: [k2]) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldr1 (a1 :: k2 ~> (k2 ~> k2)) (a2 :: [k2])
type Foldr1 (a1 :: k2 ~> (k2 ~> k2)) (a2 :: NonEmpty k2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldr1 (a1 :: k2 ~> (k2 ~> k2)) (a2 :: NonEmpty k2)
type Foldr1 (a1 :: k2 ~> (k2 ~> k2)) (a2 :: Dual k2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldr1 (a1 :: k2 ~> (k2 ~> k2)) (a2 :: Dual k2)
type Foldr1 (a1 :: k2 ~> (k2 ~> k2)) (a2 :: Sum k2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldr1 (a1 :: k2 ~> (k2 ~> k2)) (a2 :: Sum k2)
type Foldr1 (a1 :: k2 ~> (k2 ~> k2)) (a2 :: Product k2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldr1 (a1 :: k2 ~> (k2 ~> k2)) (a2 :: Product k2)
type Foldr1 (arg1 :: a ~> (a ~> a)) (arg2 :: First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldr1 (arg1 :: a ~> (a ~> a)) (arg2 :: First a)
type Foldr1 (arg1 :: a ~> (a ~> a)) (arg2 :: Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldr1 (arg1 :: a ~> (a ~> a)) (arg2 :: Last a)
type Foldr1 (a1 :: k2 ~> (k2 ~> k2)) (a2 :: Identity k2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Identity

type Foldr1 (a1 :: k2 ~> (k2 ~> k2)) (a2 :: Identity k2)
type Foldr1 (arg1 :: a ~> (a ~> a)) (arg2 :: Min a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Foldr1 (arg1 :: a ~> (a ~> a)) (arg2 :: Min a)
type Foldr1 (arg1 :: a ~> (a ~> a)) (arg2 :: Max a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Foldr1 (arg1 :: a ~> (a ~> a)) (arg2 :: Max a)
type Foldr1 (arg1 :: a ~> (a ~> a)) (arg2 :: First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Foldr1 (arg1 :: a ~> (a ~> a)) (arg2 :: First a)
type Foldr1 (arg1 :: a ~> (a ~> a)) (arg2 :: Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Foldr1 (arg1 :: a ~> (a ~> a)) (arg2 :: Last a)
type Foldr1 (arg1 :: a ~> (a ~> a)) (arg2 :: Option a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Foldr1 (arg1 :: a ~> (a ~> a)) (arg2 :: Option a)
type Foldr1 (arg1 :: a1 ~> (a1 ~> a1)) (arg2 :: Either a2 a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldr1 (arg1 :: a1 ~> (a1 ~> a1)) (arg2 :: Either a2 a1)
type Foldr1 (a1 :: k2 ~> (k2 ~> k2)) (a2 :: Proxy k2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldr1 (a1 :: k2 ~> (k2 ~> k2)) (a2 :: Proxy k2)
type Foldr1 (arg1 :: a1 ~> (a1 ~> a1)) (arg2 :: (a2, a1)) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Foldr1 (arg1 :: a1 ~> (a1 ~> a1)) (arg2 :: (a2, a1))
type Foldr1 (arg1 :: a1 ~> (a1 ~> a1)) (arg2 :: Arg a2 a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Foldr1 (arg1 :: a1 ~> (a1 ~> a1)) (arg2 :: Arg a2 a1)
type Foldr1 (arg1 :: a ~> (a ~> a)) (arg2 :: Const m a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Const

type Foldr1 (arg1 :: a ~> (a ~> a)) (arg2 :: Const m a)

sFoldr1 :: forall a (t :: (~>) a ((~>) a a)) (t :: t a). SFoldable t => Sing t -> Sing t -> Sing (Apply (Apply Foldr1Sym0 t) t :: a) Source #

Special folds

type family Concat a where ... Source #

Equations

Concat xs = Apply (Apply (Apply FoldrSym0 (Apply Lambda_6989586621680492334Sym0 xs)) NilSym0) xs 

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

type family ConcatMap a a where ... Source #

Equations

ConcatMap f xs = Apply (Apply (Apply FoldrSym0 (Apply (Apply Lambda_6989586621680492325Sym0 f) xs)) NilSym0) xs 

sConcatMap :: forall a b t (t :: (~>) a [b]) (t :: t a). SFoldable t => Sing t -> Sing t -> Sing (Apply (Apply ConcatMapSym0 t) t :: [b]) Source #

type family And a where ... Source #

Equations

And a_6989586621680492312 = Apply (Apply (Apply (.@#@$) GetAllSym0) (Apply FoldMapSym0 All_Sym0)) a_6989586621680492312 

sAnd :: forall t (t :: t Bool). SFoldable t => Sing t -> Sing (Apply AndSym0 t :: Bool) Source #

type family Or a where ... Source #

Equations

Or a_6989586621680492306 = Apply (Apply (Apply (.@#@$) GetAnySym0) (Apply FoldMapSym0 Any_Sym0)) a_6989586621680492306 

sOr :: forall t (t :: t Bool). SFoldable t => Sing t -> Sing (Apply OrSym0 t :: Bool) Source #

type family Any a a where ... Source #

Equations

Any p a_6989586621680492297 = Apply (Apply (Apply (.@#@$) GetAnySym0) (Apply FoldMapSym0 (Apply (Apply (.@#@$) Any_Sym0) p))) a_6989586621680492297 

sAny :: forall a t (t :: (~>) a Bool) (t :: t a). SFoldable t => Sing t -> Sing t -> Sing (Apply (Apply AnySym0 t) t :: Bool) Source #

type family All a a where ... Source #

Equations

All p a_6989586621680492288 = Apply (Apply (Apply (.@#@$) GetAllSym0) (Apply FoldMapSym0 (Apply (Apply (.@#@$) All_Sym0) p))) a_6989586621680492288 

sAll :: forall a t (t :: (~>) a Bool) (t :: t a). SFoldable t => Sing t -> Sing t -> Sing (Apply (Apply AllSym0 t) t :: Bool) Source #

type family Sum (arg :: t a) :: a Source #

Instances

Instances details
type Sum (a :: [k2]) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Sum (a :: [k2])
type Sum (arg :: Maybe a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Sum (arg :: Maybe a)
type Sum (arg :: Min a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Sum (arg :: Min a)
type Sum (arg :: Max a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Sum (arg :: Max a)
type Sum (arg :: First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Sum (arg :: First a)
type Sum (arg :: Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Sum (arg :: Last a)
type Sum (arg :: Option a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Sum (arg :: Option a)
type Sum (a :: Identity k2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Identity

type Sum (a :: Identity k2)
type Sum (arg :: First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Sum (arg :: First a)
type Sum (arg :: Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Sum (arg :: Last a)
type Sum (a :: Dual k2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Sum (a :: Dual k2)
type Sum (a :: Sum k2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Sum (a :: Sum k2)
type Sum (a :: Product k2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Sum (a :: Product k2)
type Sum (arg :: NonEmpty a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Sum (arg :: NonEmpty a)
type Sum (arg :: Either a1 a2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Sum (arg :: Either a1 a2)
type Sum (arg :: (a1, a2)) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Sum (arg :: (a1, a2))
type Sum (arg :: Arg a1 a2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Sum (arg :: Arg a1 a2)
type Sum (a :: Proxy k2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Sum (a :: Proxy k2)
type Sum (arg :: Const m a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Const

type Sum (arg :: Const m a)

sSum :: forall a (t :: t a). (SFoldable t, SNum a) => Sing t -> Sing (Apply SumSym0 t :: a) Source #

type family Product (arg :: t a) :: a Source #

Instances

Instances details
type Product (a :: [k2]) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Product (a :: [k2])
type Product (arg :: Maybe a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Product (arg :: Maybe a)
type Product (arg :: Min a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Product (arg :: Min a)
type Product (arg :: Max a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Product (arg :: Max a)
type Product (arg :: First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Product (arg :: First a)
type Product (arg :: Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Product (arg :: Last a)
type Product (arg :: Option a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Product (arg :: Option a)
type Product (a :: Identity k2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Identity

type Product (a :: Identity k2)
type Product (arg :: First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Product (arg :: First a)
type Product (arg :: Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Product (arg :: Last a)
type Product (a :: Dual k2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Product (a :: Dual k2)
type Product (a :: Sum k2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Product (a :: Sum k2)
type Product (a :: Product k2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Product (a :: Product k2)
type Product (arg :: NonEmpty a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Product (arg :: NonEmpty a)
type Product (arg :: Either a1 a2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Product (arg :: Either a1 a2)
type Product (arg :: (a1, a2)) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Product (arg :: (a1, a2))
type Product (arg :: Arg a1 a2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Product (arg :: Arg a1 a2)
type Product (a :: Proxy k2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Product (a :: Proxy k2)
type Product (arg :: Const m a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Const

type Product (arg :: Const m a)

sProduct :: forall a (t :: t a). (SFoldable t, SNum a) => Sing t -> Sing (Apply ProductSym0 t :: a) Source #

type family Maximum (arg :: t a) :: a Source #

Instances

Instances details
type Maximum (a :: [k2]) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Maximum (a :: [k2])
type Maximum (arg :: Maybe a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Maximum (arg :: Maybe a)
type Maximum (arg :: Min a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Maximum (arg :: Min a)
type Maximum (arg :: Max a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Maximum (arg :: Max a)
type Maximum (arg :: First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Maximum (arg :: First a)
type Maximum (arg :: Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Maximum (arg :: Last a)
type Maximum (arg :: Option a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Maximum (arg :: Option a)
type Maximum (a :: Identity k2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Identity

type Maximum (a :: Identity k2)
type Maximum (arg :: First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Maximum (arg :: First a)
type Maximum (arg :: Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Maximum (arg :: Last a)
type Maximum (a :: Dual k2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Maximum (a :: Dual k2)
type Maximum (a :: Sum k2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Maximum (a :: Sum k2)
type Maximum (a :: Product k2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Maximum (a :: Product k2)
type Maximum (arg :: NonEmpty a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Maximum (arg :: NonEmpty a)
type Maximum (arg :: Either a1 a2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Maximum (arg :: Either a1 a2)
type Maximum (arg :: (a1, a2)) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Maximum (arg :: (a1, a2))
type Maximum (arg :: Arg a1 a2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Maximum (arg :: Arg a1 a2)
type Maximum (arg :: Proxy a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Maximum (arg :: Proxy a)
type Maximum (arg :: Const m a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Const

type Maximum (arg :: Const m a)

sMaximum :: forall a (t :: t a). (SFoldable t, SOrd a) => Sing t -> Sing (Apply MaximumSym0 t :: a) Source #

type family Minimum (arg :: t a) :: a Source #

Instances

Instances details
type Minimum (a :: [k2]) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Minimum (a :: [k2])
type Minimum (arg :: Maybe a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Minimum (arg :: Maybe a)
type Minimum (arg :: Min a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Minimum (arg :: Min a)
type Minimum (arg :: Max a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Minimum (arg :: Max a)
type Minimum (arg :: First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Minimum (arg :: First a)
type Minimum (arg :: Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Minimum (arg :: Last a)
type Minimum (arg :: Option a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Minimum (arg :: Option a)
type Minimum (a :: Identity k2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Identity

type Minimum (a :: Identity k2)
type Minimum (arg :: First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Minimum (arg :: First a)
type Minimum (arg :: Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Minimum (arg :: Last a)
type Minimum (a :: Dual k2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Minimum (a :: Dual k2)
type Minimum (a :: Sum k2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Minimum (a :: Sum k2)
type Minimum (a :: Product k2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Minimum (a :: Product k2)
type Minimum (arg :: NonEmpty a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Minimum (arg :: NonEmpty a)
type Minimum (arg :: Either a1 a2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Minimum (arg :: Either a1 a2)
type Minimum (arg :: (a1, a2)) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Minimum (arg :: (a1, a2))
type Minimum (arg :: Arg a1 a2) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Minimum (arg :: Arg a1 a2)
type Minimum (arg :: Proxy a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Minimum (arg :: Proxy a)
type Minimum (arg :: Const m a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Const

type Minimum (arg :: Const m a)

sMinimum :: forall a (t :: t a). (SFoldable t, SOrd a) => Sing t -> Sing (Apply MinimumSym0 t :: a) Source #

Building lists

Scans

type family Scanl a a a where ... Source #

Equations

Scanl f q ls = Apply (Apply (:@#@$) q) (Case_6989586621679969811 f q ls ls) 

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

type family Scanl1 a a where ... Source #

Equations

Scanl1 f ('(:) x xs) = Apply (Apply (Apply ScanlSym0 f) x) xs 
Scanl1 _ '[] = NilSym0 

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

type family Scanr a a a where ... Source #

Equations

Scanr _ q0 '[] = Apply (Apply (:@#@$) q0) NilSym0 
Scanr f q0 ('(:) x xs) = Case_6989586621679969788 f q0 x xs (Let6989586621679969786Scrutinee_6989586621679965236Sym4 f q0 x xs) 

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

type family Scanr1 a a where ... Source #

Equations

Scanr1 _ '[] = NilSym0 
Scanr1 _ '[x] = Apply (Apply (:@#@$) x) NilSym0 
Scanr1 f ('(:) x ('(:) wild_6989586621679965248 wild_6989586621679965250)) = Case_6989586621679969769 f x wild_6989586621679965248 wild_6989586621679965250 (Let6989586621679969767Scrutinee_6989586621679965242Sym4 f x wild_6989586621679965248 wild_6989586621679965250) 

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

Accumulating maps

type family MapAccumL a a a where ... Source #

Equations

MapAccumL f s t = Apply (Apply RunStateLSym0 (Apply (Apply TraverseSym0 (Apply (Apply (.@#@$) StateLSym0) (Apply FlipSym0 f))) t)) s 

sMapAccumL :: forall t a b c (t :: (~>) a ((~>) b (a, c))) (t :: a) (t :: t b). STraversable t => Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply MapAccumLSym0 t) t) t :: (a, t c)) Source #

type family MapAccumR a a a where ... Source #

Equations

MapAccumR f s t = Apply (Apply RunStateRSym0 (Apply (Apply TraverseSym0 (Apply (Apply (.@#@$) StateRSym0) (Apply FlipSym0 f))) t)) s 

sMapAccumR :: forall a b c t (t :: (~>) a ((~>) b (a, c))) (t :: a) (t :: t b). STraversable t => Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply MapAccumRSym0 t) t) t :: (a, t c)) Source #

Cyclical lists

type family Replicate a a where ... Source #

Equations

Replicate n x = Case_6989586621679968901 n x (Let6989586621679968899Scrutinee_6989586621679965344Sym2 n x) 

sReplicate :: forall a (t :: Nat) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply ReplicateSym0 t) t :: [a]) Source #

Unfolding

type family Unfoldr a a where ... Source #

Equations

Unfoldr f b = Case_6989586621679969656 f b (Let6989586621679969654Scrutinee_6989586621679965252Sym2 f b) 

sUnfoldr :: forall b a (t :: (~>) b (Maybe (a, b))) (t :: b). Sing t -> Sing t -> Sing (Apply (Apply UnfoldrSym0 t) t :: [a]) Source #

Sublists

Extracting sublists

type family Take a a where ... Source #

Equations

Take _ '[] = NilSym0 
Take n ('(:) x xs) = Case_6989586621679969057 n x xs (Let6989586621679969055Scrutinee_6989586621679965328Sym3 n x xs) 

sTake :: forall a (t :: Nat) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply TakeSym0 t) t :: [a]) Source #

type family Drop a a where ... Source #

Equations

Drop _ '[] = NilSym0 
Drop n ('(:) x xs) = Case_6989586621679969044 n x xs (Let6989586621679969042Scrutinee_6989586621679965330Sym3 n x xs) 

sDrop :: forall a (t :: Nat) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply DropSym0 t) t :: [a]) Source #

type family SplitAt a a where ... Source #

Equations

SplitAt n xs = Apply (Apply Tuple2Sym0 (Apply (Apply TakeSym0 n) xs)) (Apply (Apply DropSym0 n) xs) 

sSplitAt :: forall a (t :: Nat) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply SplitAtSym0 t) t :: ([a], [a])) Source #

type family TakeWhile a a where ... Source #

Equations

TakeWhile _ '[] = NilSym0 
TakeWhile p ('(:) x xs) = Case_6989586621679969174 p x xs (Let6989586621679969172Scrutinee_6989586621679965318Sym3 p x xs) 

sTakeWhile :: forall a (t :: (~>) a Bool) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply TakeWhileSym0 t) t :: [a]) Source #

type family DropWhile a a where ... Source #

Equations

DropWhile _ '[] = NilSym0 
DropWhile p ('(:) x xs') = Case_6989586621679969161 p x xs' (Let6989586621679969159Scrutinee_6989586621679965320Sym3 p x xs') 

sDropWhile :: forall a (t :: (~>) a Bool) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply DropWhileSym0 t) t :: [a]) Source #

type family DropWhileEnd a a where ... Source #

Equations

DropWhileEnd p a_6989586621679969130 = Apply (Apply (Apply FoldrSym0 (Apply (Apply Lambda_6989586621679969139Sym0 p) a_6989586621679969130)) NilSym0) a_6989586621679969130 

sDropWhileEnd :: forall a (t :: (~>) a Bool) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply DropWhileEndSym0 t) t :: [a]) Source #

type family Span a a where ... Source #

Equations

Span _ '[] = Apply (Apply Tuple2Sym0 Let6989586621679969100XsSym0) Let6989586621679969100XsSym0 
Span p ('(:) x xs') = Case_6989586621679969109 p x xs' (Let6989586621679969107Scrutinee_6989586621679965324Sym3 p x xs') 

sSpan :: forall a (t :: (~>) a Bool) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply SpanSym0 t) t :: ([a], [a])) Source #

type family Break a a where ... Source #

Equations

Break _ '[] = Apply (Apply Tuple2Sym0 Let6989586621679969065XsSym0) Let6989586621679969065XsSym0 
Break p ('(:) x xs') = Case_6989586621679969074 p x xs' (Let6989586621679969072Scrutinee_6989586621679965326Sym3 p x xs') 

sBreak :: forall a (t :: (~>) a Bool) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply BreakSym0 t) t :: ([a], [a])) Source #

type family StripPrefix a a where ... Source #

Equations

StripPrefix '[] ys = Apply JustSym0 ys 
StripPrefix arg_6989586621680089879 arg_6989586621680089881 = Case_6989586621680091351 arg_6989586621680089879 arg_6989586621680089881 (Apply (Apply Tuple2Sym0 arg_6989586621680089879) arg_6989586621680089881) 

type family Group a where ... Source #

Equations

Group xs = Apply (Apply GroupBySym0 (==@#@$)) xs 

sGroup :: forall a (t :: [a]). SEq a => Sing t -> Sing (Apply GroupSym0 t :: [[a]]) Source #

type family Inits a where ... Source #

Equations

Inits xs = Apply (Apply (:@#@$) NilSym0) (Case_6989586621679969642 xs xs) 

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

type family Tails a where ... Source #

Equations

Tails xs = Apply (Apply (:@#@$) xs) (Case_6989586621679969634 xs xs) 

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

Predicates

type family IsPrefixOf a a where ... Source #

Equations

IsPrefixOf '[] '[] = TrueSym0 
IsPrefixOf '[] ('(:) _ _) = TrueSym0 
IsPrefixOf ('(:) _ _) '[] = FalseSym0 
IsPrefixOf ('(:) x xs) ('(:) y ys) = Apply (Apply (&&@#@$) (Apply (Apply (==@#@$) x) y)) (Apply (Apply IsPrefixOfSym0 xs) ys) 

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

type family IsSuffixOf a a where ... Source #

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

type family IsInfixOf a a where ... Source #

Equations

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

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

Searching lists

Searching by equality

type family Elem (arg :: a) (arg :: t a) :: Bool Source #

Instances

Instances details
type Elem (arg1 :: a) (arg2 :: Maybe a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Elem (arg1 :: a) (arg2 :: Maybe a)
type Elem (a1 :: k1) (a2 :: [k1]) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Elem (a1 :: k1) (a2 :: [k1])
type Elem (arg1 :: a) (arg2 :: NonEmpty a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Elem (arg1 :: a) (arg2 :: NonEmpty a)
type Elem (a1 :: k1) (a2 :: Dual k1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Elem (a1 :: k1) (a2 :: Dual k1)
type Elem (a1 :: k1) (a2 :: Sum k1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Elem (a1 :: k1) (a2 :: Sum k1)
type Elem (a1 :: k1) (a2 :: Product k1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Elem (a1 :: k1) (a2 :: Product k1)
type Elem (arg1 :: a) (arg2 :: First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Elem (arg1 :: a) (arg2 :: First a)
type Elem (arg1 :: a) (arg2 :: Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Elem (arg1 :: a) (arg2 :: Last a)
type Elem (a1 :: k1) (a2 :: Identity k1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Identity

type Elem (a1 :: k1) (a2 :: Identity k1)
type Elem (arg1 :: a) (arg2 :: Min a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Elem (arg1 :: a) (arg2 :: Min a)
type Elem (arg1 :: a) (arg2 :: Max a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Elem (arg1 :: a) (arg2 :: Max a)
type Elem (arg1 :: a) (arg2 :: First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Elem (arg1 :: a) (arg2 :: First a)
type Elem (arg1 :: a) (arg2 :: Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Elem (arg1 :: a) (arg2 :: Last a)
type Elem (arg1 :: a) (arg2 :: Option a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Elem (arg1 :: a) (arg2 :: Option a)
type Elem (arg1 :: a1) (arg2 :: Either a2 a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Elem (arg1 :: a1) (arg2 :: Either a2 a1)
type Elem (a1 :: k1) (a2 :: Proxy k1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Elem (a1 :: k1) (a2 :: Proxy k1)
type Elem (arg1 :: a1) (arg2 :: (a2, a1)) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Elem (arg1 :: a1) (arg2 :: (a2, a1))
type Elem (arg1 :: a1) (arg2 :: Arg a2 a1) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

type Elem (arg1 :: a1) (arg2 :: Arg a2 a1)
type Elem (arg1 :: a) (arg2 :: Const m a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Const

type Elem (arg1 :: a) (arg2 :: Const m a)

sElem :: forall a (t :: a) (t :: t a). (SFoldable t, SEq a) => Sing t -> Sing t -> Sing (Apply (Apply ElemSym0 t) t :: Bool) Source #

type family NotElem a a where ... Source #

Equations

NotElem x a_6989586621680492239 = Apply (Apply (Apply (.@#@$) NotSym0) (Apply ElemSym0 x)) a_6989586621680492239 

sNotElem :: forall a t (t :: a) (t :: t a). (SFoldable t, SEq a) => Sing t -> Sing t -> Sing (Apply (Apply NotElemSym0 t) t :: Bool) Source #

type family Lookup a a where ... Source #

Equations

Lookup _key '[] = NothingSym0 
Lookup key ('(:) '(x, y) xys) = Case_6989586621679968967 key x y xys (Let6989586621679968965Scrutinee_6989586621679965340Sym4 key x y xys) 

sLookup :: forall a b (t :: a) (t :: [(a, b)]). SEq a => Sing t -> Sing t -> Sing (Apply (Apply LookupSym0 t) t :: Maybe b) Source #

Searching with a predicate

type family Find a a where ... Source #

Equations

Find p a_6989586621680492221 = Apply (Apply (Apply (.@#@$) GetFirstSym0) (Apply FoldMapSym0 (Apply (Apply Lambda_6989586621680492230Sym0 p) a_6989586621680492221))) a_6989586621680492221 

sFind :: forall a t (t :: (~>) a Bool) (t :: t a). SFoldable t => Sing t -> Sing t -> Sing (Apply (Apply FindSym0 t) t :: Maybe a) Source #

type family Filter a a where ... Source #

Equations

Filter _p '[] = NilSym0 
Filter p ('(:) x xs) = Case_6989586621679969275 p x xs (Let6989586621679969273Scrutinee_6989586621679965306Sym3 p x xs) 

sFilter :: forall a (t :: (~>) a Bool) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply FilterSym0 t) t :: [a]) Source #

type family Partition a a where ... Source #

Equations

Partition p xs = Apply (Apply (Apply FoldrSym0 (Apply SelectSym0 p)) (Apply (Apply Tuple2Sym0 NilSym0) NilSym0)) xs 

sPartition :: forall a (t :: (~>) a Bool) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply PartitionSym0 t) t :: ([a], [a])) Source #

Indexing lists

type family a !! a where ... infixl 9 Source #

Equations

'[] !! _ = Apply ErrorSym0 "Data.Singletons.List.!!: index too large" 
('(:) x xs) !! n = Case_6989586621679968882 x xs n (Let6989586621679968880Scrutinee_6989586621679965346Sym3 x xs n) 

(%!!) :: forall a (t :: [a]) (t :: Nat). Sing t -> Sing t -> Sing (Apply (Apply (!!@#@$) t) t :: a) infixl 9 Source #

type family ElemIndex a a where ... Source #

Equations

ElemIndex x a_6989586621679969246 = Apply (Apply FindIndexSym0 (Apply (==@#@$) x)) a_6989586621679969246 

sElemIndex :: forall a (t :: a) (t :: [a]). SEq a => Sing t -> Sing t -> Sing (Apply (Apply ElemIndexSym0 t) t :: Maybe Nat) Source #

type family ElemIndices a a where ... Source #

Equations

ElemIndices x a_6989586621679969237 = Apply (Apply FindIndicesSym0 (Apply (==@#@$) x)) a_6989586621679969237 

sElemIndices :: forall a (t :: a) (t :: [a]). SEq a => Sing t -> Sing t -> Sing (Apply (Apply ElemIndicesSym0 t) t :: [Nat]) Source #

type family FindIndex a a where ... Source #

Equations

FindIndex p a_6989586621679969228 = Apply (Apply (Apply (.@#@$) ListToMaybeSym0) (Apply FindIndicesSym0 p)) a_6989586621679969228 

sFindIndex :: forall a (t :: (~>) a Bool) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply FindIndexSym0 t) t :: Maybe Nat) Source #

type family FindIndices a a where ... Source #

Equations

FindIndices p xs = Apply (Apply MapSym0 SndSym0) (Apply (Apply FilterSym0 (Apply (Apply Lambda_6989586621679969220Sym0 p) xs)) (Apply (Apply ZipSym0 xs) (Apply (Apply (Let6989586621679969214BuildListSym2 p xs) (FromInteger 0)) xs))) 

sFindIndices :: forall a (t :: (~>) a Bool) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply FindIndicesSym0 t) t :: [Nat]) Source #

Zipping and unzipping lists

type family Zip a a where ... Source #

Equations

Zip ('(:) x xs) ('(:) y ys) = Apply (Apply (:@#@$) (Apply (Apply Tuple2Sym0 x) y)) (Apply (Apply ZipSym0 xs) ys) 
Zip '[] '[] = NilSym0 
Zip ('(:) _ _) '[] = NilSym0 
Zip '[] ('(:) _ _) = NilSym0 

sZip :: forall a b (t :: [a]) (t :: [b]). Sing t -> Sing t -> Sing (Apply (Apply ZipSym0 t) t :: [(a, b)]) Source #

type family Zip3 a a a where ... 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 '[] '[] '[] = NilSym0 
Zip3 '[] '[] ('(:) _ _) = NilSym0 
Zip3 '[] ('(:) _ _) '[] = NilSym0 
Zip3 '[] ('(:) _ _) ('(:) _ _) = NilSym0 
Zip3 ('(:) _ _) '[] '[] = NilSym0 
Zip3 ('(:) _ _) '[] ('(:) _ _) = NilSym0 
Zip3 ('(:) _ _) ('(:) _ _) '[] = NilSym0 

sZip3 :: forall a b c (t :: [a]) (t :: [b]) (t :: [c]). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply Zip3Sym0 t) t) t :: [(a, b, c)]) Source #

type family Zip4 a a a a where ... Source #

Equations

Zip4 a_6989586621680091322 a_6989586621680091324 a_6989586621680091326 a_6989586621680091328 = Apply (Apply (Apply (Apply (Apply ZipWith4Sym0 Tuple4Sym0) a_6989586621680091322) a_6989586621680091324) a_6989586621680091326) a_6989586621680091328 

type family Zip5 a a a a a where ... Source #

Equations

Zip5 a_6989586621680091296 a_6989586621680091298 a_6989586621680091300 a_6989586621680091302 a_6989586621680091304 = Apply (Apply (Apply (Apply (Apply (Apply ZipWith5Sym0 Tuple5Sym0) a_6989586621680091296) a_6989586621680091298) a_6989586621680091300) a_6989586621680091302) a_6989586621680091304 

type family Zip6 a a a a a a where ... Source #

Equations

Zip6 a_6989586621680091265 a_6989586621680091267 a_6989586621680091269 a_6989586621680091271 a_6989586621680091273 a_6989586621680091275 = Apply (Apply (Apply (Apply (Apply (Apply (Apply ZipWith6Sym0 Tuple6Sym0) a_6989586621680091265) a_6989586621680091267) a_6989586621680091269) a_6989586621680091271) a_6989586621680091273) a_6989586621680091275 

type family Zip7 a a a a a a a where ... Source #

Equations

Zip7 a_6989586621680091229 a_6989586621680091231 a_6989586621680091233 a_6989586621680091235 a_6989586621680091237 a_6989586621680091239 a_6989586621680091241 = Apply (Apply (Apply (Apply (Apply (Apply (Apply (Apply ZipWith7Sym0 Tuple7Sym0) a_6989586621680091229) a_6989586621680091231) a_6989586621680091233) a_6989586621680091235) a_6989586621680091237) a_6989586621680091239) a_6989586621680091241 

type family ZipWith a a a where ... Source #

Equations

ZipWith f ('(:) x xs) ('(:) y ys) = Apply (Apply (:@#@$) (Apply (Apply f x) y)) (Apply (Apply (Apply ZipWithSym0 f) xs) ys) 
ZipWith _ '[] '[] = NilSym0 
ZipWith _ ('(:) _ _) '[] = NilSym0 
ZipWith _ '[] ('(:) _ _) = NilSym0 

sZipWith :: forall a b c (t :: (~>) a ((~>) b c)) (t :: [a]) (t :: [b]). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ZipWithSym0 t) t) t :: [c]) Source #

type family ZipWith3 a a a a where ... 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 _ '[] '[] '[] = NilSym0 
ZipWith3 _ '[] '[] ('(:) _ _) = NilSym0 
ZipWith3 _ '[] ('(:) _ _) '[] = NilSym0 
ZipWith3 _ '[] ('(:) _ _) ('(:) _ _) = NilSym0 
ZipWith3 _ ('(:) _ _) '[] '[] = NilSym0 
ZipWith3 _ ('(:) _ _) '[] ('(:) _ _) = NilSym0 
ZipWith3 _ ('(:) _ _) ('(:) _ _) '[] = NilSym0 

sZipWith3 :: forall a b c d (t :: (~>) a ((~>) b ((~>) c d))) (t :: [a]) (t :: [b]) (t :: [c]). Sing t -> Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply (Apply ZipWith3Sym0 t) t) t) t :: [d]) Source #

type family ZipWith4 a a a a a where ... Source #

Equations

ZipWith4 z ('(:) a as) ('(:) b bs) ('(:) c cs) ('(:) d ds) = Apply (Apply (:@#@$) (Apply (Apply (Apply (Apply z a) b) c) d)) (Apply (Apply (Apply (Apply (Apply ZipWith4Sym0 z) as) bs) cs) ds) 
ZipWith4 _ _ _ _ _ = NilSym0 

type family ZipWith5 a a a a a a where ... Source #

Equations

ZipWith5 z ('(:) a as) ('(:) b bs) ('(:) c cs) ('(:) d ds) ('(:) e es) = Apply (Apply (:@#@$) (Apply (Apply (Apply (Apply (Apply z a) b) c) d) e)) (Apply (Apply (Apply (Apply (Apply (Apply ZipWith5Sym0 z) as) bs) cs) ds) es) 
ZipWith5 _ _ _ _ _ _ = NilSym0 

type family ZipWith6 a a a a a a a where ... Source #

Equations

ZipWith6 z ('(:) a as) ('(:) b bs) ('(:) c cs) ('(:) d ds) ('(:) e es) ('(:) f fs) = Apply (Apply (:@#@$) (Apply (Apply (Apply (Apply (Apply (Apply z a) b) c) d) e) f)) (Apply (Apply (Apply (Apply (Apply (Apply (Apply ZipWith6Sym0 z) as) bs) cs) ds) es) fs) 
ZipWith6 _ _ _ _ _ _ _ = NilSym0 

type family ZipWith7 a a a a a a a a where ... Source #

Equations

ZipWith7 z ('(:) a as) ('(:) b bs) ('(:) c cs) ('(:) d ds) ('(:) e es) ('(:) f fs) ('(:) g gs) = Apply (Apply (:@#@$) (Apply (Apply (Apply (Apply (Apply (Apply (Apply z a) b) c) d) e) f) g)) (Apply (Apply (Apply (Apply (Apply (Apply (Apply (Apply ZipWith7Sym0 z) as) bs) cs) ds) es) fs) gs) 
ZipWith7 _ _ _ _ _ _ _ _ = NilSym0 

type family Unzip a where ... Source #

Equations

Unzip xs = Apply (Apply (Apply FoldrSym0 (Apply Lambda_6989586621679969529Sym0 xs)) (Apply (Apply Tuple2Sym0 NilSym0) NilSym0)) xs 

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

type family Unzip3 a where ... Source #

Equations

Unzip3 xs = Apply (Apply (Apply FoldrSym0 (Apply Lambda_6989586621679969511Sym0 xs)) (Apply (Apply (Apply Tuple3Sym0 NilSym0) NilSym0) NilSym0)) xs 

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

type family Unzip4 a where ... Source #

Equations

Unzip4 xs = Apply (Apply (Apply FoldrSym0 (Apply Lambda_6989586621679969491Sym0 xs)) (Apply (Apply (Apply (Apply Tuple4Sym0 NilSym0) NilSym0) NilSym0) NilSym0)) xs 

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

type family Unzip5 a where ... Source #

Equations

Unzip5 xs = Apply (Apply (Apply FoldrSym0 (Apply Lambda_6989586621679969469Sym0 xs)) (Apply (Apply (Apply (Apply (Apply Tuple5Sym0 NilSym0) NilSym0) NilSym0) NilSym0) NilSym0)) xs 

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

type family Unzip6 a where ... Source #

Equations

Unzip6 xs = Apply (Apply (Apply FoldrSym0 (Apply Lambda_6989586621679969445Sym0 xs)) (Apply (Apply (Apply (Apply (Apply (Apply Tuple6Sym0 NilSym0) NilSym0) NilSym0) NilSym0) NilSym0) NilSym0)) xs 

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

type family Unzip7 a where ... Source #

Equations

Unzip7 xs = Apply (Apply (Apply FoldrSym0 (Apply Lambda_6989586621679969419Sym0 xs)) (Apply (Apply (Apply (Apply (Apply (Apply (Apply Tuple7Sym0 NilSym0) NilSym0) NilSym0) NilSym0) NilSym0) NilSym0) NilSym0)) xs 

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

Special lists

Functions on Symbols

type family Unlines a where ... Source #

Equations

Unlines '[] = "" 
Unlines ('(:) l ls) = Apply (Apply (<>@#@$) l) (Apply (Apply (<>@#@$) "\n") (Apply UnlinesSym0 ls)) 

sUnlines :: forall (t :: [Symbol]). Sing t -> Sing (Apply UnlinesSym0 t :: Symbol) Source #

type family Unwords a where ... Source #

Equations

Unwords '[] = "" 
Unwords ('(:) w ws) = Apply (Apply (<>@#@$) w) (Apply (Let6989586621679969405GoSym2 w ws) ws) 

sUnwords :: forall (t :: [Symbol]). Sing t -> Sing (Apply UnwordsSym0 t :: Symbol) Source #

"Set" operations

type family Nub a where ... Source #

Equations

Nub l = Apply (Apply (Let6989586621679968860Nub'Sym1 l) l) NilSym0 

sNub :: forall a (t :: [a]). SEq a => Sing t -> Sing (Apply NubSym0 t :: [a]) Source #

type family Delete a a where ... Source #

Equations

Delete a_6989586621679969389 a_6989586621679969391 = Apply (Apply (Apply DeleteBySym0 (==@#@$)) a_6989586621679969389) a_6989586621679969391 

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

type family a \\ a where ... infix 5 Source #

Equations

a_6989586621679969378 \\ a_6989586621679969380 = Apply (Apply (Apply FoldlSym0 (Apply FlipSym0 DeleteSym0)) a_6989586621679969378) a_6989586621679969380 

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

type family Union a a where ... Source #

Equations

Union a_6989586621679968805 a_6989586621679968807 = Apply (Apply (Apply UnionBySym0 (==@#@$)) a_6989586621679968805) a_6989586621679968807 

sUnion :: forall a (t :: [a]) (t :: [a]). SEq a => Sing t -> Sing t -> Sing (Apply (Apply UnionSym0 t) t :: [a]) Source #

type family Intersect a a where ... Source #

Equations

Intersect a_6989586621679969196 a_6989586621679969198 = Apply (Apply (Apply IntersectBySym0 (==@#@$)) a_6989586621679969196) a_6989586621679969198 

sIntersect :: forall a (t :: [a]) (t :: [a]). SEq a => Sing t -> Sing t -> Sing (Apply (Apply IntersectSym0 t) t :: [a]) Source #

Ordered lists

type family Insert a a where ... Source #

Equations

Insert e ls = Apply (Apply (Apply InsertBySym0 CompareSym0) e) ls 

sInsert :: forall a (t :: a) (t :: [a]). SOrd a => Sing t -> Sing t -> Sing (Apply (Apply InsertSym0 t) t :: [a]) Source #

type family Sort a where ... Source #

Equations

Sort a_6989586621679968996 = Apply (Apply SortBySym0 CompareSym0) a_6989586621679968996 

sSort :: forall a (t :: [a]). SOrd a => Sing t -> Sing (Apply SortSym0 t :: [a]) Source #

Generalized functions

The "By" operations

User-supplied equality (replacing an Eq context)

The predicate is assumed to define an equivalence.

type family NubBy a a where ... Source #

Equations

NubBy eq l = Apply (Apply (Let6989586621679968844NubBy'Sym2 eq l) l) NilSym0 

sNubBy :: forall a (t :: (~>) a ((~>) a Bool)) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply NubBySym0 t) t :: [a]) Source #

type family DeleteBy a a a where ... Source #

Equations

DeleteBy _ _ '[] = NilSym0 
DeleteBy eq x ('(:) y ys) = Case_6989586621679969375 eq x y ys (Let6989586621679969373Scrutinee_6989586621679965290Sym4 eq x y ys) 

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

type family DeleteFirstsBy a a a where ... Source #

Equations

DeleteFirstsBy eq a_6989586621679969348 a_6989586621679969350 = Apply (Apply (Apply FoldlSym0 (Apply FlipSym0 (Apply DeleteBySym0 eq))) a_6989586621679969348) a_6989586621679969350 

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

type family UnionBy a a a where ... Source #

Equations

UnionBy eq xs ys = Apply (Apply (++@#@$) xs) (Apply (Apply (Apply FoldlSym0 (Apply FlipSym0 (Apply DeleteBySym0 eq))) (Apply (Apply NubBySym0 eq) ys)) xs) 

sUnionBy :: forall a (t :: (~>) a ((~>) a Bool)) (t :: [a]) (t :: [a]). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply UnionBySym0 t) t) t :: [a]) Source #

type family IntersectBy a a a where ... Source #

Equations

IntersectBy _ '[] '[] = NilSym0 
IntersectBy _ '[] ('(:) _ _) = NilSym0 
IntersectBy _ ('(:) _ _) '[] = NilSym0 
IntersectBy eq ('(:) wild_6989586621679965310 wild_6989586621679965312) ('(:) wild_6989586621679965314 wild_6989586621679965316) = Apply (Apply (>>=@#@$) (Let6989586621679969189XsSym5 eq wild_6989586621679965310 wild_6989586621679965312 wild_6989586621679965314 wild_6989586621679965316)) (Apply (Apply (Apply (Apply (Apply Lambda_6989586621679969192Sym0 eq) wild_6989586621679965310) wild_6989586621679965312) wild_6989586621679965314) wild_6989586621679965316) 

sIntersectBy :: forall a (t :: (~>) a ((~>) a Bool)) (t :: [a]) (t :: [a]). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply IntersectBySym0 t) t) t :: [a]) Source #

type family GroupBy a a where ... Source #

Equations

GroupBy _ '[] = NilSym0 
GroupBy eq ('(:) x xs) = Apply (Apply (:@#@$) (Apply (Apply (:@#@$) x) (Let6989586621679968978YsSym3 eq x xs))) (Apply (Apply GroupBySym0 eq) (Let6989586621679968978ZsSym3 eq x xs)) 

sGroupBy :: forall a (t :: (~>) a ((~>) a Bool)) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply GroupBySym0 t) t :: [[a]]) Source #

User-supplied comparison (replacing an Ord context)

The function is assumed to define a total ordering.

type family SortBy a a where ... Source #

Equations

SortBy cmp a_6989586621679969339 = Apply (Apply (Apply FoldrSym0 (Apply InsertBySym0 cmp)) NilSym0) a_6989586621679969339 

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

type family InsertBy a a a where ... Source #

Equations

InsertBy _ x '[] = Apply (Apply (:@#@$) x) NilSym0 
InsertBy cmp x ('(:) y ys') = Case_6989586621679969336 cmp x y ys' (Let6989586621679969334Scrutinee_6989586621679965292Sym4 cmp x y ys') 

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

type family MaximumBy a a where ... Source #

Equations

MaximumBy cmp a_6989586621680492268 = Apply (Apply Foldl1Sym0 (Let6989586621680492277Max'Sym2 cmp a_6989586621680492268)) a_6989586621680492268 

sMaximumBy :: forall a t (t :: (~>) a ((~>) a Ordering)) (t :: t a). SFoldable t => Sing t -> Sing t -> Sing (Apply (Apply MaximumBySym0 t) t :: a) Source #

type family MinimumBy a a where ... Source #

Equations

MinimumBy cmp a_6989586621680492248 = Apply (Apply Foldl1Sym0 (Let6989586621680492257Min'Sym2 cmp a_6989586621680492248)) a_6989586621680492248 

sMinimumBy :: forall a t (t :: (~>) a ((~>) a Ordering)) (t :: t a). SFoldable t => Sing t -> Sing t -> Sing (Apply (Apply MinimumBySym0 t) t :: a) Source #

The "generic" operations

The prefix `generic' indicates an overloaded function that is a generalized version of a Prelude function.

type family GenericLength a where ... Source #

sGenericLength :: forall a i (t :: [a]). SNum i => Sing t -> Sing (Apply GenericLengthSym0 t :: i) Source #

Defunctionalization symbols

type NilSym0 = '[] :: [a :: Type] Source #

data (:@#@$) a6989586621679304138 infixr 5 Source #

Instances

Instances details
SingI ((:@#@$) :: TyFun a ([a] ~> [a]) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Instances

SuppressUnusedWarnings ((:@#@$) :: TyFun a ([a] ~> [a]) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Instances

type Apply ((:@#@$) :: TyFun a ([a] ~> [a]) -> Type) (a6989586621679304138 :: a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Instances

type Apply ((:@#@$) :: TyFun a ([a] ~> [a]) -> Type) (a6989586621679304138 :: a) = (:@#@$$) a6989586621679304138

data a6989586621679304138 :@#@$$ a6989586621679304139 infixr 5 Source #

Instances

Instances details
SingI d => SingI ((:@#@$$) d :: TyFun [a] [a] -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Instances

Methods

sing :: Sing ((:@#@$$) d) Source #

SuppressUnusedWarnings ((:@#@$$) a6989586621679304138 :: TyFun [a] [a] -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Instances

type Apply ((:@#@$$) a6989586621679304138 :: TyFun [a] [a] -> Type) (a6989586621679304139 :: [a]) Source # 
Instance details

Defined in Data.Singletons.Prelude.Instances

type Apply ((:@#@$$) a6989586621679304138 :: TyFun [a] [a] -> Type) (a6989586621679304139 :: [a]) = a6989586621679304138 :@#@$$$ a6989586621679304139

type (:@#@$$$) (a6989586621679304138 :: a) (a6989586621679304139 :: [a]) = '(:) a6989586621679304138 a6989586621679304139 :: [a :: Type] infixr 5 Source #

type (++@#@$$$) (a6989586621679534210 :: [a]) (a6989586621679534211 :: [a]) = (++) a6989586621679534210 a6989586621679534211 :: [a] infixr 5 Source #

data a6989586621679534210 ++@#@$$ a6989586621679534211 infixr 5 Source #

Instances

Instances details
SingI d => SingI ((++@#@$$) d :: TyFun [a] [a] -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Base

Methods

sing :: Sing ((++@#@$$) d) Source #

SuppressUnusedWarnings ((++@#@$$) a6989586621679534210 :: TyFun [a] [a] -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Base

type Apply ((++@#@$$) a6989586621679534210 :: TyFun [a] [a] -> Type) (a6989586621679534211 :: [a]) Source # 
Instance details

Defined in Data.Singletons.Prelude.Base

type Apply ((++@#@$$) a6989586621679534210 :: TyFun [a] [a] -> Type) (a6989586621679534211 :: [a]) = a6989586621679534210 ++@#@$$$ a6989586621679534211

data (++@#@$) a6989586621679534210 infixr 5 Source #

Instances

Instances details
SingI ((++@#@$) :: TyFun [a] ([a] ~> [a]) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Base

SuppressUnusedWarnings ((++@#@$) :: TyFun [a] ([a] ~> [a]) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Base

type Apply ((++@#@$) :: TyFun [a] ([a] ~> [a]) -> Type) (a6989586621679534210 :: [a]) Source # 
Instance details

Defined in Data.Singletons.Prelude.Base

type Apply ((++@#@$) :: TyFun [a] ([a] ~> [a]) -> Type) (a6989586621679534210 :: [a]) = (++@#@$$) a6989586621679534210

data HeadSym0 a6989586621679970037 Source #

Instances

Instances details
SingI (HeadSym0 :: TyFun [a] a -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

SuppressUnusedWarnings (HeadSym0 :: TyFun [a] a -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

type Apply (HeadSym0 :: TyFun [a] a -> Type) (a6989586621679970037 :: [a]) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

type Apply (HeadSym0 :: TyFun [a] a -> Type) (a6989586621679970037 :: [a]) = HeadSym1 a6989586621679970037

type HeadSym1 (a6989586621679970037 :: [a]) = Head a6989586621679970037 :: a Source #

data LastSym0 a6989586621679970031 Source #

Instances

Instances details
SingI (LastSym0 :: TyFun [a] a -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

SuppressUnusedWarnings (LastSym0 :: TyFun [a] a -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

type Apply (LastSym0 :: TyFun [a] a -> Type) (a6989586621679970031 :: [a]) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

type Apply (LastSym0 :: TyFun [a] a -> Type) (a6989586621679970031 :: [a]) = LastSym1 a6989586621679970031

type LastSym1 (a6989586621679970031 :: [a]) = Last a6989586621679970031 :: a Source #

data TailSym0 a6989586621679970027 Source #

Instances

Instances details
SingI (TailSym0 :: TyFun [a] [a] -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

SuppressUnusedWarnings (TailSym0 :: TyFun [a] [a] -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

type Apply (TailSym0 :: TyFun [a] [a] -> Type) (a6989586621679970027 :: [a]) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

type Apply (TailSym0 :: TyFun [a] [a] -> Type) (a6989586621679970027 :: [a]) = TailSym1 a6989586621679970027

type TailSym1 (a6989586621679970027 :: [a]) = Tail a6989586621679970027 :: [a] Source #

data InitSym0 a6989586621679970015 Source #

Instances

Instances details
SingI (InitSym0 :: TyFun [a] [a] -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

SuppressUnusedWarnings (InitSym0 :: TyFun [a] [a] -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

type Apply (InitSym0 :: TyFun [a] [a] -> Type) (a6989586621679970015 :: [a]) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

type Apply (InitSym0 :: TyFun [a] [a] -> Type) (a6989586621679970015 :: [a]) = InitSym1 a6989586621679970015

type InitSym1 (a6989586621679970015 :: [a]) = Init a6989586621679970015 :: [a] Source #

data NullSym0 a6989586621680492490 Source #

Instances

Instances details
SFoldable t => SingI (NullSym0 :: TyFun (t a) Bool -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

SuppressUnusedWarnings (NullSym0 :: TyFun (t a) Bool -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (NullSym0 :: TyFun (t a) Bool -> Type) (a6989586621680492490 :: t a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (NullSym0 :: TyFun (t a) Bool -> Type) (a6989586621680492490 :: t a) = NullSym1 a6989586621680492490

type NullSym1 (a6989586621680492490 :: t a) = Null a6989586621680492490 :: Bool Source #

data LengthSym0 a6989586621680492493 Source #

Instances

Instances details
SFoldable t => SingI (LengthSym0 :: TyFun (t a) Nat -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

SuppressUnusedWarnings (LengthSym0 :: TyFun (t a) Nat -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (LengthSym0 :: TyFun (t a) Nat -> Type) (a6989586621680492493 :: t a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (LengthSym0 :: TyFun (t a) Nat -> Type) (a6989586621680492493 :: t a) = LengthSym1 a6989586621680492493

type LengthSym1 (a6989586621680492493 :: t a) = Length a6989586621680492493 :: Nat Source #

data MapSym0 a6989586621679534219 Source #

Instances

Instances details
SingI (MapSym0 :: TyFun (a ~> b) ([a] ~> [b]) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Base

SuppressUnusedWarnings (MapSym0 :: TyFun (a ~> b) ([a] ~> [b]) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Base

type Apply (MapSym0 :: TyFun (a ~> b) ([a] ~> [b]) -> Type) (a6989586621679534219 :: a ~> b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Base

type Apply (MapSym0 :: TyFun (a ~> b) ([a] ~> [b]) -> Type) (a6989586621679534219 :: a ~> b) = MapSym1 a6989586621679534219

data MapSym1 a6989586621679534219 a6989586621679534220 Source #

Instances

Instances details
SingI d => SingI (MapSym1 d :: TyFun [a] [b] -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Base

Methods

sing :: Sing (MapSym1 d) Source #

SuppressUnusedWarnings (MapSym1 a6989586621679534219 :: TyFun [a] [b] -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Base

type Apply (MapSym1 a6989586621679534219 :: TyFun [a] [b] -> Type) (a6989586621679534220 :: [a]) Source # 
Instance details

Defined in Data.Singletons.Prelude.Base

type Apply (MapSym1 a6989586621679534219 :: TyFun [a] [b] -> Type) (a6989586621679534220 :: [a]) = MapSym2 a6989586621679534219 a6989586621679534220

type MapSym2 (a6989586621679534219 :: (~>) a b) (a6989586621679534220 :: [a]) = Map a6989586621679534219 a6989586621679534220 :: [b] Source #

data ReverseSym0 a6989586621679970000 Source #

Instances

Instances details
SingI (ReverseSym0 :: TyFun [a] [a] -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

SuppressUnusedWarnings (ReverseSym0 :: TyFun [a] [a] -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

type Apply (ReverseSym0 :: TyFun [a] [a] -> Type) (a6989586621679970000 :: [a]) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

type Apply (ReverseSym0 :: TyFun [a] [a] -> Type) (a6989586621679970000 :: [a]) = ReverseSym1 a6989586621679970000

type ReverseSym1 (a6989586621679970000 :: [a]) = Reverse a6989586621679970000 :: [a] Source #

data IntersperseSym0 a6989586621679969993 Source #

Instances

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

Defined in Data.Singletons.Prelude.List.Internal

SuppressUnusedWarnings (IntersperseSym0 :: TyFun a ([a] ~> [a]) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

type Apply (IntersperseSym0 :: TyFun a ([a] ~> [a]) -> Type) (a6989586621679969993 :: a) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

type Apply (IntersperseSym0 :: TyFun a ([a] ~> [a]) -> Type) (a6989586621679969993 :: a) = IntersperseSym1 a6989586621679969993

data IntersperseSym1 a6989586621679969993 a6989586621679969994 Source #

Instances

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

Defined in Data.Singletons.Prelude.List.Internal

SuppressUnusedWarnings (IntersperseSym1 a6989586621679969993 :: TyFun [a] [a] -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

type Apply (IntersperseSym1 a6989586621679969993 :: TyFun [a] [a] -> Type) (a6989586621679969994 :: [a]) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

type Apply (IntersperseSym1 a6989586621679969993 :: TyFun [a] [a] -> Type) (a6989586621679969994 :: [a]) = IntersperseSym2 a6989586621679969993 a6989586621679969994

type IntersperseSym2 (a6989586621679969993 :: a) (a6989586621679969994 :: [a]) = Intersperse a6989586621679969993 a6989586621679969994 :: [a] Source #

data IntercalateSym0 a6989586621679969986 Source #

Instances

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

Defined in Data.Singletons.Prelude.List.Internal

SuppressUnusedWarnings (IntercalateSym0 :: TyFun [a] ([[a]] ~> [a]) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

type Apply (IntercalateSym0 :: TyFun [a] ([[a]] ~> [a]) -> Type) (a6989586621679969986 :: [a]) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

type Apply (IntercalateSym0 :: TyFun [a] ([[a]] ~> [a]) -> Type) (a6989586621679969986 :: [a]) = IntercalateSym1 a6989586621679969986

data IntercalateSym1 a6989586621679969986 a6989586621679969987 Source #

Instances

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

Defined in Data.Singletons.Prelude.List.Internal

SuppressUnusedWarnings (IntercalateSym1 a6989586621679969986 :: TyFun [[a]] [a] -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

type Apply (IntercalateSym1 a6989586621679969986 :: TyFun [[a]] [a] -> Type) (a6989586621679969987 :: [[a]]) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

type Apply (IntercalateSym1 a6989586621679969986 :: TyFun [[a]] [a] -> Type) (a6989586621679969987 :: [[a]]) = IntercalateSym2 a6989586621679969986 a6989586621679969987

type IntercalateSym2 (a6989586621679969986 :: [a]) (a6989586621679969987 :: [[a]]) = Intercalate a6989586621679969986 a6989586621679969987 :: [a] Source #

data TransposeSym0 a6989586621679968887 Source #

Instances

Instances details
SingI (TransposeSym0 :: TyFun [[a]] [[a]] -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

SuppressUnusedWarnings (TransposeSym0 :: TyFun [[a]] [[a]] -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

type Apply (TransposeSym0 :: TyFun [[a]] [[a]] -> Type) (a6989586621679968887 :: [[a]]) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

type Apply (TransposeSym0 :: TyFun [[a]] [[a]] -> Type) (a6989586621679968887 :: [[a]]) = TransposeSym1 a6989586621679968887

type TransposeSym1 (a6989586621679968887 :: [[a]]) = Transpose a6989586621679968887 :: [[a]] Source #

data SubsequencesSym0 a6989586621679969981 Source #

Instances

Instances details
SingI (SubsequencesSym0 :: TyFun [a] [[a]] -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

SuppressUnusedWarnings (SubsequencesSym0 :: TyFun [a] [[a]] -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

type Apply (SubsequencesSym0 :: TyFun [a] [[a]] -> Type) (a6989586621679969981 :: [a]) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

type Apply (SubsequencesSym0 :: TyFun [a] [[a]] -> Type) (a6989586621679969981 :: [a]) = SubsequencesSym1 a6989586621679969981

type SubsequencesSym1 (a6989586621679969981 :: [a]) = Subsequences a6989586621679969981 :: [[a]] Source #

data PermutationsSym0 a6989586621679969907 Source #

Instances

Instances details
SingI (PermutationsSym0 :: TyFun [a] [[a]] -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

SuppressUnusedWarnings (PermutationsSym0 :: TyFun [a] [[a]] -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

type Apply (PermutationsSym0 :: TyFun [a] [[a]] -> Type) (a6989586621679969907 :: [a]) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

type Apply (PermutationsSym0 :: TyFun [a] [[a]] -> Type) (a6989586621679969907 :: [a]) = PermutationsSym1 a6989586621679969907

type PermutationsSym1 (a6989586621679969907 :: [a]) = Permutations a6989586621679969907 :: [[a]] Source #

data FoldlSym0 a6989586621680492465 Source #

Instances

Instances details
SFoldable t => SingI (FoldlSym0 :: TyFun (b ~> (a ~> b)) (b ~> (t a ~> b)) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

SuppressUnusedWarnings (FoldlSym0 :: TyFun (b ~> (a ~> b)) (b ~> (t a ~> b)) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (FoldlSym0 :: TyFun (b ~> (a ~> b)) (b ~> (t a ~> b)) -> Type) (a6989586621680492465 :: b ~> (a ~> b)) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (FoldlSym0 :: TyFun (b ~> (a ~> b)) (b ~> (t a ~> b)) -> Type) (a6989586621680492465 :: b ~> (a ~> b)) = FoldlSym1 a6989586621680492465 :: TyFun b (t a ~> b) -> Type

data FoldlSym1 a6989586621680492465 a6989586621680492466 Source #

Instances

Instances details
(SFoldable t, SingI d) => SingI (FoldlSym1 d :: TyFun b (t a ~> b) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

Methods

sing :: Sing (FoldlSym1 d) Source #

SuppressUnusedWarnings (FoldlSym1 a6989586621680492465 :: TyFun b (t a ~> b) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (FoldlSym1 a6989586621680492465 :: TyFun b (t a ~> b) -> Type) (a6989586621680492466 :: b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (FoldlSym1 a6989586621680492465 :: TyFun b (t a ~> b) -> Type) (a6989586621680492466 :: b) = FoldlSym2 a6989586621680492465 a6989586621680492466 :: TyFun (t a) b -> Type

data FoldlSym2 a6989586621680492465 a6989586621680492466 a6989586621680492467 Source #

Instances

Instances details
(SFoldable t, SingI d1, SingI d2) => SingI (FoldlSym2 d1 d2 :: TyFun (t a) b -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

Methods

sing :: Sing (FoldlSym2 d1 d2) Source #

SuppressUnusedWarnings (FoldlSym2 a6989586621680492465 a6989586621680492466 :: TyFun (t a) b -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (FoldlSym2 a6989586621680492465 a6989586621680492466 :: TyFun (t a) b -> Type) (a6989586621680492467 :: t a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (FoldlSym2 a6989586621680492465 a6989586621680492466 :: TyFun (t a) b -> Type) (a6989586621680492467 :: t a) = FoldlSym3 a6989586621680492465 a6989586621680492466 a6989586621680492467

type FoldlSym3 (a6989586621680492465 :: (~>) b ((~>) a b)) (a6989586621680492466 :: b) (a6989586621680492467 :: t a) = Foldl a6989586621680492465 a6989586621680492466 a6989586621680492467 :: b Source #

data Foldl'Sym0 a6989586621680492472 Source #

Instances

Instances details
SFoldable t => SingI (Foldl'Sym0 :: TyFun (b ~> (a ~> b)) (b ~> (t a ~> b)) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

SuppressUnusedWarnings (Foldl'Sym0 :: TyFun (b ~> (a ~> b)) (b ~> (t a ~> b)) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (Foldl'Sym0 :: TyFun (b ~> (a ~> b)) (b ~> (t a ~> b)) -> Type) (a6989586621680492472 :: b ~> (a ~> b)) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (Foldl'Sym0 :: TyFun (b ~> (a ~> b)) (b ~> (t a ~> b)) -> Type) (a6989586621680492472 :: b ~> (a ~> b)) = Foldl'Sym1 a6989586621680492472 :: TyFun b (t a ~> b) -> Type

data Foldl'Sym1 a6989586621680492472 a6989586621680492473 Source #

Instances

Instances details
(SFoldable t, SingI d) => SingI (Foldl'Sym1 d :: TyFun b (t a ~> b) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

Methods

sing :: Sing (Foldl'Sym1 d) Source #

SuppressUnusedWarnings (Foldl'Sym1 a6989586621680492472 :: TyFun b (t a ~> b) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (Foldl'Sym1 a6989586621680492472 :: TyFun b (t a ~> b) -> Type) (a6989586621680492473 :: b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (Foldl'Sym1 a6989586621680492472 :: TyFun b (t a ~> b) -> Type) (a6989586621680492473 :: b) = Foldl'Sym2 a6989586621680492472 a6989586621680492473 :: TyFun (t a) b -> Type

data Foldl'Sym2 a6989586621680492472 a6989586621680492473 a6989586621680492474 Source #

Instances

Instances details
(SFoldable t, SingI d1, SingI d2) => SingI (Foldl'Sym2 d1 d2 :: TyFun (t a) b -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

Methods

sing :: Sing (Foldl'Sym2 d1 d2) Source #

SuppressUnusedWarnings (Foldl'Sym2 a6989586621680492472 a6989586621680492473 :: TyFun (t a) b -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (Foldl'Sym2 a6989586621680492472 a6989586621680492473 :: TyFun (t a) b -> Type) (a6989586621680492474 :: t a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (Foldl'Sym2 a6989586621680492472 a6989586621680492473 :: TyFun (t a) b -> Type) (a6989586621680492474 :: t a) = Foldl'Sym3 a6989586621680492472 a6989586621680492473 a6989586621680492474

type Foldl'Sym3 (a6989586621680492472 :: (~>) b ((~>) a b)) (a6989586621680492473 :: b) (a6989586621680492474 :: t a) = Foldl' a6989586621680492472 a6989586621680492473 a6989586621680492474 :: b Source #

data Foldl1Sym0 a6989586621680492483 Source #

Instances

Instances details
SFoldable t => SingI (Foldl1Sym0 :: TyFun (a ~> (a ~> a)) (t a ~> a) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

SuppressUnusedWarnings (Foldl1Sym0 :: TyFun (a ~> (a ~> a)) (t a ~> a) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (Foldl1Sym0 :: TyFun (a ~> (a ~> a)) (t a ~> a) -> Type) (a6989586621680492483 :: a ~> (a ~> a)) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (Foldl1Sym0 :: TyFun (a ~> (a ~> a)) (t a ~> a) -> Type) (a6989586621680492483 :: a ~> (a ~> a)) = Foldl1Sym1 a6989586621680492483 :: TyFun (t a) a -> Type

data Foldl1Sym1 a6989586621680492483 a6989586621680492484 Source #

Instances

Instances details
(SFoldable t, SingI d) => SingI (Foldl1Sym1 d :: TyFun (t a) a -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

Methods

sing :: Sing (Foldl1Sym1 d) Source #

SuppressUnusedWarnings (Foldl1Sym1 a6989586621680492483 :: TyFun (t a) a -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (Foldl1Sym1 a6989586621680492483 :: TyFun (t a) a -> Type) (a6989586621680492484 :: t a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (Foldl1Sym1 a6989586621680492483 :: TyFun (t a) a -> Type) (a6989586621680492484 :: t a) = Foldl1Sym2 a6989586621680492483 a6989586621680492484

type Foldl1Sym2 (a6989586621680492483 :: (~>) a ((~>) a a)) (a6989586621680492484 :: t a) = Foldl1 a6989586621680492483 a6989586621680492484 :: a Source #

data Foldl1'Sym0 a6989586621679969872 Source #

Instances

Instances details
SingI (Foldl1'Sym0 :: TyFun (a ~> (a ~> a)) ([a] ~> a) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

SuppressUnusedWarnings (Foldl1'Sym0 :: TyFun (a ~> (a ~> a)) ([a] ~> a) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

type Apply (Foldl1'Sym0 :: TyFun (a ~> (a ~> a)) ([a] ~> a) -> Type) (a6989586621679969872 :: a ~> (a ~> a)) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

type Apply (Foldl1'Sym0 :: TyFun (a ~> (a ~> a)) ([a] ~> a) -> Type) (a6989586621679969872 :: a ~> (a ~> a)) = Foldl1'Sym1 a6989586621679969872

data Foldl1'Sym1 a6989586621679969872 a6989586621679969873 Source #

Instances

Instances details
SingI d => SingI (Foldl1'Sym1 d :: TyFun [a] a -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

Methods

sing :: Sing (Foldl1'Sym1 d) Source #

SuppressUnusedWarnings (Foldl1'Sym1 a6989586621679969872 :: TyFun [a] a -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

type Apply (Foldl1'Sym1 a6989586621679969872 :: TyFun [a] a -> Type) (a6989586621679969873 :: [a]) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

type Apply (Foldl1'Sym1 a6989586621679969872 :: TyFun [a] a -> Type) (a6989586621679969873 :: [a]) = Foldl1'Sym2 a6989586621679969872 a6989586621679969873

type Foldl1'Sym2 (a6989586621679969872 :: (~>) a ((~>) a a)) (a6989586621679969873 :: [a]) = Foldl1' a6989586621679969872 a6989586621679969873 :: a Source #

data FoldrSym0 a6989586621680492451 Source #

Instances

Instances details
SFoldable t => SingI (FoldrSym0 :: TyFun (a ~> (b ~> b)) (b ~> (t a ~> b)) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

SuppressUnusedWarnings (FoldrSym0 :: TyFun (a ~> (b ~> b)) (b ~> (t a ~> b)) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (FoldrSym0 :: TyFun (a ~> (b ~> b)) (b ~> (t a ~> b)) -> Type) (a6989586621680492451 :: a ~> (b ~> b)) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (FoldrSym0 :: TyFun (a ~> (b ~> b)) (b ~> (t a ~> b)) -> Type) (a6989586621680492451 :: a ~> (b ~> b)) = FoldrSym1 a6989586621680492451 :: TyFun b (t a ~> b) -> Type

data FoldrSym1 a6989586621680492451 a6989586621680492452 Source #

Instances

Instances details
(SFoldable t, SingI d) => SingI (FoldrSym1 d :: TyFun b (t a ~> b) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

Methods

sing :: Sing (FoldrSym1 d) Source #

SuppressUnusedWarnings (FoldrSym1 a6989586621680492451 :: TyFun b (t a ~> b) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (FoldrSym1 a6989586621680492451 :: TyFun b (t a ~> b) -> Type) (a6989586621680492452 :: b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (FoldrSym1 a6989586621680492451 :: TyFun b (t a ~> b) -> Type) (a6989586621680492452 :: b) = FoldrSym2 a6989586621680492451 a6989586621680492452 :: TyFun (t a) b -> Type

data FoldrSym2 a6989586621680492451 a6989586621680492452 a6989586621680492453 Source #

Instances

Instances details
(SFoldable t, SingI d1, SingI d2) => SingI (FoldrSym2 d1 d2 :: TyFun (t a) b -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

Methods

sing :: Sing (FoldrSym2 d1 d2) Source #

SuppressUnusedWarnings (FoldrSym2 a6989586621680492451 a6989586621680492452 :: TyFun (t a) b -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (FoldrSym2 a6989586621680492451 a6989586621680492452 :: TyFun (t a) b -> Type) (a6989586621680492453 :: t a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (FoldrSym2 a6989586621680492451 a6989586621680492452 :: TyFun (t a) b -> Type) (a6989586621680492453 :: t a) = FoldrSym3 a6989586621680492451 a6989586621680492452 a6989586621680492453

type FoldrSym3 (a6989586621680492451 :: (~>) a ((~>) b b)) (a6989586621680492452 :: b) (a6989586621680492453 :: t a) = Foldr a6989586621680492451 a6989586621680492452 a6989586621680492453 :: b Source #

data Foldr1Sym0 a6989586621680492478 Source #

Instances

Instances details
SFoldable t => SingI (Foldr1Sym0 :: TyFun (a ~> (a ~> a)) (t a ~> a) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

SuppressUnusedWarnings (Foldr1Sym0 :: TyFun (a ~> (a ~> a)) (t a ~> a) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (Foldr1Sym0 :: TyFun (a ~> (a ~> a)) (t a ~> a) -> Type) (a6989586621680492478 :: a ~> (a ~> a)) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (Foldr1Sym0 :: TyFun (a ~> (a ~> a)) (t a ~> a) -> Type) (a6989586621680492478 :: a ~> (a ~> a)) = Foldr1Sym1 a6989586621680492478 :: TyFun (t a) a -> Type

data Foldr1Sym1 a6989586621680492478 a6989586621680492479 Source #

Instances

Instances details
(SFoldable t, SingI d) => SingI (Foldr1Sym1 d :: TyFun (t a) a -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

Methods

sing :: Sing (Foldr1Sym1 d) Source #

SuppressUnusedWarnings (Foldr1Sym1 a6989586621680492478 :: TyFun (t a) a -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (Foldr1Sym1 a6989586621680492478 :: TyFun (t a) a -> Type) (a6989586621680492479 :: t a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (Foldr1Sym1 a6989586621680492478 :: TyFun (t a) a -> Type) (a6989586621680492479 :: t a) = Foldr1Sym2 a6989586621680492478 a6989586621680492479

type Foldr1Sym2 (a6989586621680492478 :: (~>) a ((~>) a a)) (a6989586621680492479 :: t a) = Foldr1 a6989586621680492478 a6989586621680492479 :: a Source #

data ConcatSym0 a6989586621680492332 Source #

Instances

Instances details
SFoldable t => SingI (ConcatSym0 :: TyFun (t [a]) [a] -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

SuppressUnusedWarnings (ConcatSym0 :: TyFun (t [a]) [a] -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (ConcatSym0 :: TyFun (t [a]) [a] -> Type) (a6989586621680492332 :: t [a]) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (ConcatSym0 :: TyFun (t [a]) [a] -> Type) (a6989586621680492332 :: t [a]) = ConcatSym1 a6989586621680492332

type ConcatSym1 (a6989586621680492332 :: t [a]) = Concat a6989586621680492332 :: [a] Source #

data ConcatMapSym0 a6989586621680492321 Source #

Instances

Instances details
SFoldable t => SingI (ConcatMapSym0 :: TyFun (a ~> [b]) (t a ~> [b]) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

SuppressUnusedWarnings (ConcatMapSym0 :: TyFun (a ~> [b]) (t a ~> [b]) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (ConcatMapSym0 :: TyFun (a ~> [b]) (t a ~> [b]) -> Type) (a6989586621680492321 :: a ~> [b]) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (ConcatMapSym0 :: TyFun (a ~> [b]) (t a ~> [b]) -> Type) (a6989586621680492321 :: a ~> [b]) = ConcatMapSym1 a6989586621680492321 :: TyFun (t a) [b] -> Type

data ConcatMapSym1 a6989586621680492321 a6989586621680492322 Source #

Instances

Instances details
(SFoldable t, SingI d) => SingI (ConcatMapSym1 d :: TyFun (t a) [b] -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

SuppressUnusedWarnings (ConcatMapSym1 a6989586621680492321 :: TyFun (t a) [b] -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (ConcatMapSym1 a6989586621680492321 :: TyFun (t a) [b] -> Type) (a6989586621680492322 :: t a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (ConcatMapSym1 a6989586621680492321 :: TyFun (t a) [b] -> Type) (a6989586621680492322 :: t a) = ConcatMapSym2 a6989586621680492321 a6989586621680492322

type ConcatMapSym2 (a6989586621680492321 :: (~>) a [b]) (a6989586621680492322 :: t a) = ConcatMap a6989586621680492321 a6989586621680492322 :: [b] Source #

data AndSym0 a6989586621680492316 Source #

Instances

Instances details
SFoldable t => SingI (AndSym0 :: TyFun (t Bool) Bool -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

SuppressUnusedWarnings (AndSym0 :: TyFun (t Bool) Bool -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (AndSym0 :: TyFun (t Bool) Bool -> Type) (a6989586621680492316 :: t Bool) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (AndSym0 :: TyFun (t Bool) Bool -> Type) (a6989586621680492316 :: t Bool) = AndSym1 a6989586621680492316

type AndSym1 (a6989586621680492316 :: t Bool) = And a6989586621680492316 :: Bool Source #

data OrSym0 a6989586621680492310 Source #

Instances

Instances details
SFoldable t => SingI (OrSym0 :: TyFun (t Bool) Bool -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

Methods

sing :: Sing OrSym0 Source #

SuppressUnusedWarnings (OrSym0 :: TyFun (t Bool) Bool -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (OrSym0 :: TyFun (t Bool) Bool -> Type) (a6989586621680492310 :: t Bool) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (OrSym0 :: TyFun (t Bool) Bool -> Type) (a6989586621680492310 :: t Bool) = OrSym1 a6989586621680492310

type OrSym1 (a6989586621680492310 :: t Bool) = Or a6989586621680492310 :: Bool Source #

data AnySym0 a6989586621680492302 Source #

Instances

Instances details
SFoldable t => SingI (AnySym0 :: TyFun (a ~> Bool) (t a ~> Bool) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

SuppressUnusedWarnings (AnySym0 :: TyFun (a ~> Bool) (t a ~> Bool) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (AnySym0 :: TyFun (a ~> Bool) (t a ~> Bool) -> Type) (a6989586621680492302 :: a ~> Bool) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (AnySym0 :: TyFun (a ~> Bool) (t a ~> Bool) -> Type) (a6989586621680492302 :: a ~> Bool) = AnySym1 a6989586621680492302 :: TyFun (t a) Bool -> Type

data AnySym1 a6989586621680492302 a6989586621680492303 Source #

Instances

Instances details
(SFoldable t, SingI d) => SingI (AnySym1 d :: TyFun (t a) Bool -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

Methods

sing :: Sing (AnySym1 d) Source #

SuppressUnusedWarnings (AnySym1 a6989586621680492302 :: TyFun (t a) Bool -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (AnySym1 a6989586621680492302 :: TyFun (t a) Bool -> Type) (a6989586621680492303 :: t a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (AnySym1 a6989586621680492302 :: TyFun (t a) Bool -> Type) (a6989586621680492303 :: t a) = AnySym2 a6989586621680492302 a6989586621680492303

type AnySym2 (a6989586621680492302 :: (~>) a Bool) (a6989586621680492303 :: t a) = Any a6989586621680492302 a6989586621680492303 :: Bool Source #

data AllSym0 a6989586621680492293 Source #

Instances

Instances details
SFoldable t => SingI (AllSym0 :: TyFun (a ~> Bool) (t a ~> Bool) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

SuppressUnusedWarnings (AllSym0 :: TyFun (a ~> Bool) (t a ~> Bool) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (AllSym0 :: TyFun (a ~> Bool) (t a ~> Bool) -> Type) (a6989586621680492293 :: a ~> Bool) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (AllSym0 :: TyFun (a ~> Bool) (t a ~> Bool) -> Type) (a6989586621680492293 :: a ~> Bool) = AllSym1 a6989586621680492293 :: TyFun (t a) Bool -> Type

data AllSym1 a6989586621680492293 a6989586621680492294 Source #

Instances

Instances details
(SFoldable t, SingI d) => SingI (AllSym1 d :: TyFun (t a) Bool -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

Methods

sing :: Sing (AllSym1 d) Source #

SuppressUnusedWarnings (AllSym1 a6989586621680492293 :: TyFun (t a) Bool -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (AllSym1 a6989586621680492293 :: TyFun (t a) Bool -> Type) (a6989586621680492294 :: t a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (AllSym1 a6989586621680492293 :: TyFun (t a) Bool -> Type) (a6989586621680492294 :: t a) = AllSym2 a6989586621680492293 a6989586621680492294

type AllSym2 (a6989586621680492293 :: (~>) a Bool) (a6989586621680492294 :: t a) = All a6989586621680492293 a6989586621680492294 :: Bool Source #

data SumSym0 a6989586621680492507 Source #

Instances

Instances details
(SFoldable t, SNum a) => SingI (SumSym0 :: TyFun (t a) a -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

SuppressUnusedWarnings (SumSym0 :: TyFun (t a) a -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (SumSym0 :: TyFun (t a) a -> Type) (a6989586621680492507 :: t a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (SumSym0 :: TyFun (t a) a -> Type) (a6989586621680492507 :: t a) = SumSym1 a6989586621680492507

type SumSym1 (a6989586621680492507 :: t a) = Sum a6989586621680492507 :: a Source #

data ProductSym0 a6989586621680492510 Source #

Instances

Instances details
(SFoldable t, SNum a) => SingI (ProductSym0 :: TyFun (t a) a -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

SuppressUnusedWarnings (ProductSym0 :: TyFun (t a) a -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (ProductSym0 :: TyFun (t a) a -> Type) (a6989586621680492510 :: t a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (ProductSym0 :: TyFun (t a) a -> Type) (a6989586621680492510 :: t a) = ProductSym1 a6989586621680492510

type ProductSym1 (a6989586621680492510 :: t a) = Product a6989586621680492510 :: a Source #

data MaximumSym0 a6989586621680492501 Source #

Instances

Instances details
(SFoldable t, SOrd a) => SingI (MaximumSym0 :: TyFun (t a) a -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

SuppressUnusedWarnings (MaximumSym0 :: TyFun (t a) a -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (MaximumSym0 :: TyFun (t a) a -> Type) (a6989586621680492501 :: t a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (MaximumSym0 :: TyFun (t a) a -> Type) (a6989586621680492501 :: t a) = MaximumSym1 a6989586621680492501

type MaximumSym1 (a6989586621680492501 :: t a) = Maximum a6989586621680492501 :: a Source #

data MinimumSym0 a6989586621680492504 Source #

Instances

Instances details
(SFoldable t, SOrd a) => SingI (MinimumSym0 :: TyFun (t a) a -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

SuppressUnusedWarnings (MinimumSym0 :: TyFun (t a) a -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (MinimumSym0 :: TyFun (t a) a -> Type) (a6989586621680492504 :: t a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Foldable

type Apply (MinimumSym0 :: TyFun (t a) a -> Type) (a6989586621680492504 :: t a) = MinimumSym1 a6989586621680492504

type MinimumSym1 (a6989586621680492504 :: t a) = Minimum a6989586621680492504 :: a Source #

data ScanlSym0 a6989586621679969805 Source #

Instances

Instances details
SingI (ScanlSym0 :: TyFun (b ~> (a ~> b)) (b ~> ([a] ~> [b])) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

SuppressUnusedWarnings (ScanlSym0 :: TyFun (b ~> (a ~> b)) (b ~> ([a] ~> [b])) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

type Apply (ScanlSym0 :: TyFun (b ~> (a ~> b)) (b ~> ([a] ~> [b])) -> Type) (a6989586621679969805 :: b ~> (a ~> b)) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

type Apply (ScanlSym0 :: TyFun (b ~> (a ~> b)) (b ~> ([a] ~> [b])) -> Type) (a6989586621679969805 :: b ~> (a ~> b)) = ScanlSym1 a6989586621679969805

data ScanlSym1 a6989586621679969805 a6989586621679969806 Source #

Instances

Instances details
SingI d => SingI (ScanlSym1 d :: TyFun b ([a] ~> [b]) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

Methods

sing :: Sing (ScanlSym1 d) Source #

SuppressUnusedWarnings (ScanlSym1 a6989586621679969805 :: TyFun b ([a] ~> [b]) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

type Apply (ScanlSym1 a6989586621679969805 :: TyFun b ([a] ~> [b]) -> Type) (a6989586621679969806 :: b) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

type Apply (ScanlSym1 a6989586621679969805 :: TyFun b ([a] ~> [b]) -> Type) (a6989586621679969806 :: b) = ScanlSym2 a6989586621679969805 a6989586621679969806

data ScanlSym2 a6989586621679969805 a6989586621679969806 a6989586621679969807 Source #

Instances

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

Defined in Data.Singletons.Prelude.List.Internal

Methods

sing :: Sing (ScanlSym2 d1 d2) Source #

SuppressUnusedWarnings (ScanlSym2 a6989586621679969805 a6989586621679969806 :: TyFun [a] [b] -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

type Apply (ScanlSym2 a6989586621679969805 a6989586621679969806 :: TyFun [a] [b] -> Type) (a6989586621679969807 :: [a]) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

type Apply (ScanlSym2 a6989586621679969805 a6989586621679969806 :: TyFun [a] [b] -> Type) (a6989586621679969807 :: [a]) = ScanlSym3 a6989586621679969805 a6989586621679969806 a6989586621679969807

type ScanlSym3 (a6989586621679969805 :: (~>) b ((~>) a b)) (a6989586621679969806 :: b) (a6989586621679969807 :: [a]) = Scanl a6989586621679969805 a6989586621679969806 a6989586621679969807 :: [b] Source #

data Scanl1Sym0 a6989586621679969796 Source #

Instances

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

Defined in Data.Singletons.Prelude.List.Internal

SuppressUnusedWarnings (Scanl1Sym0 :: TyFun (a ~> (a ~> a)) ([a] ~> [a]) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

type Apply (Scanl1Sym0 :: TyFun (a ~> (a ~> a)) ([a] ~> [a]) -> Type) (a6989586621679969796 :: a ~> (a ~> a)) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

type Apply (Scanl1Sym0 :: TyFun (a ~> (a ~> a)) ([a] ~> [a]) -> Type) (a6989586621679969796 :: a ~> (a ~> a)) = Scanl1Sym1 a6989586621679969796

data Scanl1Sym1 a6989586621679969796 a6989586621679969797 Source #

Instances

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

Defined in Data.Singletons.Prelude.List.Internal

Methods

sing :: Sing (Scanl1Sym1 d) Source #

SuppressUnusedWarnings (Scanl1Sym1 a6989586621679969796 :: TyFun [a] [a] -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

type Apply (Scanl1Sym1 a6989586621679969796 :: TyFun [a] [a] -> Type) (a6989586621679969797 :: [a]) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal

type Apply (Scanl1Sym1 a6989586621679969796 :: TyFun [a] [a] -> Type) (a6989586621679969797 :: [a]) = Scanl1Sym2 a6989586621679969796 a6989586621679969797

type Scanl1Sym2 (a6989586621679969796 :: (~>) a ((~>) a a)) (a6989586621679969797 :: [a]) = Scanl1 a6989586621679969796 a6989586621679969797 :: [a] Source #

data ScanrSym0 a6989586621679969778 Source #

Instances

Instances details
SingI (ScanrSym0 :: TyFun (a ~> (b ~> b)) (b ~> ([a] ~> [b])) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.List.Internal