Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

fp:uvod_do_fp [2011/05/15 10:57]
petr [Úvod do funkcionálního programování]
fp:uvod_do_fp [2011/10/05 20:05] (aktuální)
petr [Čistota]
Řádek 106: Řádek 106:
     * Komunikovat po síti.     * Komunikovat po síti.
     * Používat a měnit velká pole.     * Používat a měnit velká pole.
-  * V praxi se používají přístupy:+  * V praxi se používají tyto přístupy:
     - Dovolí se vedlejší efekty funkcí (OCaml, F#). To vyžaduje větší disciplínu programátora. Nejde dohromady s líným vyhodnocováním.     - Dovolí se vedlejší efekty funkcí (OCaml, F#). To vyžaduje větší disciplínu programátora. Nejde dohromady s líným vyhodnocováním.
 +    - Unikátní typy, kde je překladačem ošetřeno, že se problematické hodnoty (např. //file handle//) mohou použít jen jednou.
     - Vedlejší efekty se popíší pomocí **monád** (Haskell). Tento přístup zachovává čistotu a je konzistentní s líným vyhodnocováním. //Zároveň lze z kódu jasně vyčíst, kde se provádějí jaké "nečisté" akce.//     - Vedlejší efekty se popíší pomocí **monád** (Haskell). Tento přístup zachovává čistotu a je konzistentní s líným vyhodnocováním. //Zároveň lze z kódu jasně vyčíst, kde se provádějí jaké "nečisté" akce.//