Cascade-0.1.0.0: Playing with reified categorical composition

Safe HaskellNone
LanguageHaskell2010

Cascade.Util.ListKind

Documentation

type family All c xs :: Constraint Source

Equations

All c [] = () 
All c (a : as) = (c a, All c as) 

type family Last ts :: a Source

Equations

Last `[a]` = a 
Last (a : as) = Last as 

type family Map f ts :: [b] Source

Equations

Map f [] = [] 
Map f (a : as) = f a : Map f as 

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

Equations

Tails [] = `[[]]` 
Tails (a : as) = (a : as) : Tails as 

type family Tail as :: [a] Source

Equations

Tail (a : as) = as 

type family Init as :: [a] Source

Equations

Init `[a]` = [] 
Init (a : as) = a : Init as 

type family RInits as :: [[a]] Source

Equations

RInits [] = `[[]]` 
RInits (a : as) = [] : Map (Snoc a) (RInits as) 

type family Snoc x xs :: [a] Source

Equations

Snoc x [] = `[x]` 
Snoc x (a : as) = a : Snoc x as 

type family ZipWith f as bs :: [c] Source

Equations

ZipWith f [] [] = [] 
ZipWith f (a : as) (b : bs) = f a b : ZipWith f as bs 

type family Concat as bs :: [a] Source

Equations

Concat [] bs = bs 
Concat (a : as) bs = a : Concat as bs