Programování a data

Dekompozice dat

Základní datové elementy

Základní způsoby kompozice dat

Uspořádaná n-tice (Tuple)

Seznamy (Array)

Hodnoty a typy

Typ

Základní datové typy

Složené typy

Funkcionální typy

Polymorfní typy

Typové třídy

odd :: Integral a => a -> Bool
(+) :: Num a => a -> a -> a

Hodnotové konstruktory

(,) :: a -> b -> (a,b)
(,) x y = (x,y)
fst :: (a,b) -> a
fst (x,y) = x

snd :: (a,b) -> b
snd (x,y) = y

Hodnotové konstruktory seznamů

(:) :: a -> [a] -> [a]

Spojení seznamů

(++) :: [a] -> [a] -> [a]

Hodnotové konstruktory ve víceřádkových definicích

použití symbolu @

f (a@(x:y)) = x:a++y
f [1,2,3]   [1,1,2,3,2,3]