Volná monáda

Z testwiki
Verze z 5. 5. 2021, 11:21, kterou vytvořil imported>Mykhal (přím. wl; iwl (sekce))
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Skočit na navigaci Skočit na vyhledávání

Šablona:Neověřeno 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.

Volná monáda je počátečním objektem v kategorii monád, tj. do každé monády z ní vede právě jeden morfismus. Morfismus f:MM je morfismem mezi monádami, pokud platí η=fη a fμ=μ(ff).

Funkcionální programování

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.

Šablona:Pahýl

en:Monad (functional programming)#Free monads