Zijn alle monaden monoïden?
Zijn alle monaden monoïden?

Video: Zijn alle monaden monoïden?

Video: Zijn alle monaden monoïden?
Video: A monad is a monoid in the category of endofunctors. Whats the problem? #SoMe2 2024, Mei
Anonim

Een goed gezegd, misschien wel het kortste antwoord ooit is: A monade is gewoon een monoïde in de categorie van endofunctors. Tevreden de monoïde axioma's (i. & ii.), a monade kan worden gezien als een monoïde dat is een endofunctor samen met twee natuurlijke transformaties.

Wat is hierin een Monad Endofunctor?

In de categorietheorie, een tak van de wiskunde, a monade (ook triple, triade, standaard constructie en fundamentele constructie) is een endofunctor (een functor die een categorie aan zichzelf toewijst), samen met twee natuurlijke transformaties die nodig zijn om aan bepaalde coherentievoorwaarden te voldoen.

Vervolgens is de vraag, wat is een Bifunctor? EEN bifunctor (ook bekend als een binaire functor) is een functor waarvan het domein een productcategorie is. Het kan worden gezien als een functor in twee argumenten. De Hom functor is een natuurlijk voorbeeld; het is contravariant in het ene argument, covariant in het andere. Een multifunctor is een generalisatie van het functorconcept naar n variabelen.

Wat is dan een Monade in programmeren?

Van wikipedia: In functioneel programmeren , een monade is een soort abstract gegevenstype dat wordt gebruikt om berekeningen weer te geven (in plaats van gegevens in het domeinmodel). Monaden laat de programmeur om acties aan elkaar te koppelen om een pijplijn te bouwen, waarin elke actie is versierd met aanvullende verwerkingsregels die worden geleverd door de monade.

Wat is een Monad Haskell?

In Haskell een monade wordt weergegeven als een typeconstructor (noem het m), een functie die waarden van dat type bouwt (a -> ma), en een functie die waarden van dat type combineert met berekeningen die waarden van dat type produceren om een nieuwe berekening te produceren voor waarden van dat type (ma -> (a -> mb) -> mb).

Aanbevolen: