Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| statnice:bakalar:b4b36fup [2025/05/27 11:13] – external edit 127.0.0.1 | statnice:bakalar:b4b36fup [2026/06/06 14:57] (current) – [Church‑Rosserova věta] knedl1k | ||
|---|---|---|---|
| Line 14: | Line 14: | ||
| ===== Čisté funkce ===== | ===== Čisté funkce ===== | ||
| **Čisté funkce (pure functions), jejich výhody a nevýhody.** | **Čisté funkce (pure functions), jejich výhody a nevýhody.** | ||
| - | Čistá funkce je taková, která (1) vrací vždy stejný výsledek pro stejné hodnoty argumentů a (2) nevytváří vedlejší efekty – tedy nečte ani nemění nic mimo svůj vnitřní rozsah; nesahá na globály, neloguje, nedělá I/O a ani nemutuje objekty předané referencí či pointerem. | + | Čistá funkce je taková, která |
| + | (1) vrací vždy stejný výsledek pro stejné hodnoty argumentů a | ||
| + | (2) nevytváří vedlejší efekty – tedy nečte ani nemění nic mimo svůj vnitřní rozsah; nesahá na globály, neloguje, nedělá I/O a ani nemutuje objekty předané referencí či pointerem. | ||
| ==== Výhody čistých funkcí ==== | ==== Výhody čistých funkcí ==== | ||
| < | < | ||
| Line 156: | Line 158: | ||
| === Strom === | === Strom === | ||
| + | |||
| Stromové struktury můžeme reprezentovat za pomocí vnořených seznamů, například uzel lze definovat jako seznam | Stromové struktury můžeme reprezentovat za pomocí vnořených seznamů, například uzel lze definovat jako seznam | ||
| `' | `' | ||
| Line 469: | Line 472: | ||
| 2. Normal‑order evaluace vždy skončí v normální formě, pokud existuje. | 2. Normal‑order evaluace vždy skončí v normální formě, pokud existuje. | ||
| - | === Y‑kombinátor === < | + | === Y‑kombinátor === |
| `Y` je **fixpoint combinator**, | `Y` je **fixpoint combinator**, | ||
| Line 500: | Line 503: | ||
| * *Strict/ | * *Strict/ | ||
| - | > Stručně: **`Y` přidá rekurzi** tím, že každé funkci vrátí její vlastní výsledek jako argument. | + | Stručně: **`Y` přidá rekurzi** tím, že každé funkci vrátí její vlastní výsledek jako argument. |
| - | > | + | |
| - | > </ | + | |