head :: [a] -> a = vrací první prvek seznamutail :: [a] -> a = vrací seznam bez prvního prvkulast :: [a] -> a = vrací poslední prvek seznamuinit :: [a] -> a = vrací seznam bez posledníholength :: [a] -> Int = vrací počet prvků na nejvyšší úrovnitake :: Int -> [a] -> [a] = vrátí prvních n prvků seznamu jako seznamdrop :: Int -> [a] -> [a] = vrátí původní seznam bez prvních n prvků(!!) :: [a] -> Int -> a = vrátí prvek na dané pozici (začíná 0)reverse :: [a] -> [a] = vrátí seznam prvků v opačném pořadíminimum :: Ord a => [a] -> amaximum :: Ord a => [a] -> asum :: Num a => [a] -> aproduct :: Num a => [a] -> a = součinor :: [Bool] -> Booland :: [Bool] -> Bool!! Tyto funkce nefungují na seznamech:
min :: Ord a => a -> a -> amax :: Ord a => a -> a -> a(&&) :: Bool -> Bool -> Bool(||) :: Bool -> Bool -> Bool
map :: (a -> b) -> [a] -> [b] = aplikace funkce na prvky v seznamufilter :: (a -> Bool) -> [a] -> [a] = vrací výběr prvků seznamu podle dané podmínkytakeWhile :: (a -> Bool) -> [a] -> [a]dropWhile :: (a -> Bool) -> [a] -> [a]concat :: [[a]] -> [a] - spojení seznamu seznamů do jednoho seznamuzip :: [a] -> [b] -> [(a,b)] - spojení dvou seznamu do seznamu dvojic (výsledná délka seznamu je délka kratšího seznamuzipWith :: (a -> b -> c) -> [a] -> [b] -> [c] - jako zip, ale pomocí funkce