Volná monáda: Porovnání verzí
Smazaný obsah Přidaný obsah
oprava kódu značky: editace z mobilu editace z mobilního webu |
+poznámka o použití |
||
Řádek 6: | Řádek 6: | ||
Free f a = Pure a | Roll (f (Free f a)) |
Free f a = Pure a | Roll (f (Free f a)) |
||
</source> |
</source> |
||
Volné monády se ve funkcionálním programování používají k implementaci interpretů doménově specifických jazyků, protože poskytují syntakticky definovanou operaci bind. |
|||
{{Pahýl}} |
{{Pahýl}} |
||
[[Kategorie:Teorie kategorií]] |
[[Kategorie:Teorie kategorií]] |
Verze z 21. 8. 2019, 11:22
Volná monáda je v teorii kategorií monáda vytvořená z funktoru s nejvolnější možnou strukturou. Na rozdíl od "běžných" monád nereprezentuje žádný sekvenční výpočet a lze ji "rozbalit", tj. získat v ní "zabalenou" hodnotu.
V Haskellu je typ volné monády nad funktorem f
Free f a = Pure a | Roll (f (Free f a))
Volné monády se ve funkcionálním programování používají k implementaci interpretů doménově specifických jazyků, protože poskytují syntakticky definovanou operaci bind.