Volná monáda

Z testwiki
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