Różnice
Różnice między wybraną wersją a wersją aktualną.
Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
Nowa wersja
Both sides next revision
|
pl:dydaktyka:pp:haskell:lab-monads-types [2018/05/28 22:21] kkutt [Zadania] |
pl:dydaktyka:pp:haskell:lab-monads-types [2020/04/19 22:32] msl |
====== Monady i Typy ====== | ====== Typy ====== |
===== Wprowadzenie ===== | ===== Wprowadzenie ===== |
| |
</code> | </code> |
| |
==== Monady ==== | ==== Abstrakcyjne Typy Danych ==== |
Monady w Haskellu to konstruktory polimorficznych typów. | Abstrakcyjne typy danych w Haskellu to konstruktory polimorficznych typów. |
Typy takie mogą przechowywać wartości wielu różnych typów. | Typy takie mogą przechowywać wartości wielu różnych typów. |
| Przykładem takiego typu jest monada Maybe, definiowana jako |
Najczęściej używana monadą jest Maybe, definiowana jako | |
| |
<code haskell> | <code haskell> |
let szymon = Osoba "Szymon" "Bobek" "12345678901" | let szymon = Osoba "Szymon" "Bobek" "12345678901" |
let bobek = Osoba "S" "Bobek" "12345678901" | let bobek = Osoba "S" "Bobek" "12345678901" |
let zenon = Osoba Zenon Adamczyk "111111111" | let zenon = Osoba "Zenon" "Adamczyk" "111111111" |
ghci> szymon == bobek | ghci> szymon == bobek |
True | True |