Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verze | ||
| flp:start [27. 05. 2012, 11.32:59] – [Haskell] pitel | flp:start [02. 08. 2026, 04.21:03] (aktuální) – odstraněno - upraveno mimo DokuWiki (Neznámé datum) 127.0.0.1 | ||
|---|---|---|---|
| Řádek 1: | Řádek 1: | ||
| - | ====== Funkcionální a logické programování ====== | ||
| - | {{ https:// | ||
| - | ===== Lambda kalkul ===== | ||
| - | [[wp> | ||
| - | * **α-konverze** -- λ// | ||
| - | * **β-konverze** -- (λ// | ||
| - | * **η-konverze** -- λ// | ||
| - | ^ '' | ||
| - | ^ '' | ||
| - | ^ '' | ||
| - | ^ '' | ||
| - | ^ '' | ||
| - | ^ '' | ||
| - | ^ '' | ||
| - | |||
| - | < | ||
| - | < | ||
| - | |||
| - | ^ 0, 1, 2, 3, ... |λ// | ||
| - | ^ succ | λ// | ||
| - | ^ add | λ// | ||
| - | ^ mult | λ// | ||
| - | ^ // | ||
| - | ^ iszero | ||
| - | ^ if then else | λ// | ||
| - | ^ tuple | λ// | ||
| - | ^ first | λ// | ||
| - | ^ second | ||
| - | ===== Haskell ===== | ||
| - | * [[http:// | ||
| - | * **[[https:// | ||
| - | ===== Strukturální indukce ===== | ||
| - | [[wp> | ||
| - | |||
| - | <code haskell> | ||
| - | foldr :: (a -> b -> b) -> b -> [a] -> b | ||
| - | foldr f z [] | ||
| - | foldr f z (x:xs) = f x (foldr f z xs) | ||
| - | </ | ||
| - | <code haskell> | ||
| - | foldl :: (a -> b -> a) -> a -> [b] -> a | ||
| - | foldl f z [] | ||
| - | foldl f z (x:xs) = foldl f (f z x) xs | ||
| - | </ | ||
| - | <code haskell> | ||
| - | map :: (a -> b) -> [a] -> [b] | ||
| - | map f [] = [] | ||
| - | map f (x:xs) = f x : map f xs | ||
| - | </ | ||
| - | <code haskell> | ||
| - | (++) :: [a] -> [a] -> [a] | ||
| - | [] ++ ys = ys | ||
| - | (x:xs) ++ ys = x : (xs ++ ys) | ||
| - | </ | ||
| - | <code haskell> | ||
| - | take :: Int -> [a] -> [a] | ||
| - | take n _ | n <= 0 = [] | ||
| - | take _ [] = [] | ||
| - | take n (x: | ||
| - | </ | ||
| - | <code haskell> | ||
| - | drop :: Int -> [a] -> [a] | ||
| - | drop n xs | n <= 0 = xs | ||
| - | drop _ [] = [] | ||
| - | drop n (_: | ||
| - | </ | ||
| - | <code haskell> | ||
| - | head :: [a] -> a | ||
| - | head (x:_) | ||
| - | head [] = error " | ||
| - | </ | ||
| - | <code haskell> | ||
| - | tail :: [a] -> [a] | ||
| - | tail (_: | ||
| - | tail [] = error " | ||
| - | </ | ||
| - | <code haskell> | ||
| - | last :: [a] -> a | ||
| - | last [x] | ||
| - | last (_: | ||
| - | last [] = error " | ||
| - | </ | ||
| - | <code haskell> | ||
| - | init :: [a] -> [a] | ||
| - | init [x] | ||
| - | init (x: | ||
| - | init [] = error " | ||
| - | </ | ||
| - | <code haskell> | ||
| - | length | ||
| - | length [] = 0 | ||
| - | length (_:l) | ||
| - | </ | ||
| - | <code haskell> | ||
| - | filter :: (a -> Bool) -> [a] -> [a] | ||
| - | -- filter p xs = [x | x <- xs, p x] | ||
| - | filter p [] = [] | ||
| - | filter p (x:xs) | p x = x : filter p xs | ||
| - | | otherwise = filter p xs | ||
| - | </ | ||
| - | <code haskell> | ||
| - | takeWhile | ||
| - | takeWhile p [] = [] | ||
| - | takeWhile p (x: | ||
| - | | p x | ||
| - | | otherwise = [] | ||
| - | </ | ||
| - | <code haskell> | ||
| - | dropWhile | ||
| - | dropWhile p [] = [] | ||
| - | dropWhile p xs@(x: | ||
| - | | p x | ||
| - | | otherwise = xs | ||
| - | </ | ||
| - | ===== Prolog ===== | ||
| - | [[99pl]] | ||