Är alla monader monoider?
Är alla monader monoider?

Video: Är alla monader monoider?

Video: Är alla monader monoider?
Video: Монады — это моноиды в категории эндофункторов — путешествие по Scala 3, без болтовни 2024, November
Anonim

Ett väl sagt, kanske det kortaste svaret någonsin är: A monad är bara en monoid i kategorin endofunktorer. Nöjd med monoid axiom (i. & ii.), a monad kan ses som en monoid som är en endofunctor tillsammans med två naturliga transformationer.

Häri, vad är en Monad Endofunctor?

Inom kategoriteori, en gren av matematik, en monad (även trippel, triad, standardkonstruktion och grundkonstruktion) är en endofunktor (en funktion som kartlägger en kategori till sig själv), tillsammans med två naturliga transformationer som krävs för att uppfylla vissa koherensvillkor.

Därefter är frågan, vad är en Bifunctor? A bifunktör (även känd som en binär funktion) är en funktion vars domän är en produktkategori. Det kan ses som en funktion i två argument. Hom-funktionen är ett naturligt exempel; det är kontravariant i det ena argumentet, samvariant i det andra. En multifunktor är en generalisering av funktionskonceptet till n variabler.

Vad är då en monad inom programmering?

Från wikipedia: I funktionell programmering , a monad är en sorts abstrakt datatyp som används för att representera beräkningar (istället för data i domänmodellen). Monader tillåta programmerare att sammankoppla åtgärder för att bygga en pipeline, där varje åtgärd är dekorerad med ytterligare bearbetningsregler som tillhandahålls av monad.

Vad är en Monad Haskell?

I Haskell a monad representeras som en typkonstruktor (kalla det m), en funktion som bygger värden av den typen (a -> ma) och en funktion som kombinerar värden av den typen med beräkningar som producerar värden av den typen för att producera en ny beräkning för värden av den typen (ma -> (a -> mb) -> mb).

Rekommenderad: