Er alle monader monoider?
Er alle monader monoider?

Video: Er alle monader monoider?

Video: Er alle monader monoider?
Video: Любовь и голуби (FullHD, комедия, реж. Владимир Меньшов, 1984 г.) 2024, November
Anonim

Et godt sagt, kanskje det korteste svaret noensinne er: A monad er bare en monoid i kategorien endofunctors. Fornøyd med monoid aksiomer (i. & ii.), a monad kan sees på som en monoid som er en endofunctor sammen med to naturlige transformasjoner.

Her, hva er en Monad Endofunctor?

I kategoriteori, en gren av matematikk, en monad (også trippel, triade, standardkonstruksjon og grunnkonstruksjon) er en endofunktor (en funksjon som kartlegger en kategori til seg selv), sammen med to naturlige transformasjoner som kreves for å oppfylle visse koherensbetingelser.

Deretter er spørsmålet, hva er en Bifunctor? EN bifunktor (også kjent som en binær funksjon) er en funksjon hvis domene er en produktkategori. Det kan sees på som en funksjon i to argumenter. Hom-funksjonen er et naturlig eksempel; det er kontravariant i det ene argumentet, kovariant i det andre. En multifunktor er en generalisering av funksjonsbegrepet til n variabler.

Så, hva er en monade i programmering?

Fra wikipedia: I funksjonell programmering , a monad er en slags abstrakt datatype som brukes til å representere beregninger (i stedet for data i domenemodellen). Monader tillate Programmerer å lenke handlinger sammen for å bygge en rørledning, der hver handling er dekorert med ytterligere behandlingsregler gitt av monad.

Hva er en Monad Haskell?

I Haskell en monad er representert som en typekonstruktør (kall det m), en funksjon som bygger verdier av den typen (a -> ma), og en funksjon som kombinerer verdier av den typen med beregninger som produserer verdier av den typen for å produsere en ny beregning for verdier av den typen (ma -> (a -> mb) -> mb).

Anbefalt: