Lahat ba ng monad ay Monoid?
Lahat ba ng monad ay Monoid?

Video: Lahat ba ng monad ay Monoid?

Video: Lahat ba ng monad ay Monoid?
Video: Baby Shark Dance | #babyshark Most Viewed Video | Animal Songs | PINKFONG Songs for Children 2024, Disyembre
Anonim

Ang isang mahusay na sinabi, marahil ang pinakamaikling sagot ay: A monad ay isang monoid sa kategorya ng mga endofunctor. Nasiyahan ang monoid axioms (i. & ii.), a monad ay makikita bilang a monoid na isang endofunctor kasama ang dalawang natural na pagbabago.

Dito, ano ang Monad Endofunctor?

Sa teorya ng kategorya, isang sangay ng matematika, a monad (din triple, triad, standard construction at fundamental construction) ay isang endofunctor (isang functor na nagma-map ng isang kategorya sa sarili nito), kasama ang dalawang natural na pagbabagong kinakailangan upang matupad ang ilang partikular na kondisyon ng pagkakaugnay.

Kasunod nito, ang tanong ay, ano ang isang Bifunctor? A bifunctor (kilala rin bilang binary functor) ay isang functor na ang domain ay isang kategorya ng produkto. Ito ay makikita bilang isang functor sa dalawang argumento. Ang Hom functor ay isang natural na halimbawa; ito ay contravariant sa isang argumento, covariant sa isa pa. Ang multifunctor ay isang generalization ng konsepto ng functor sa n variable.

Kung gayon, ano ang isang Monad sa programming?

Mula sa wikipedia: In functional programming , a monad ay isang uri ng abstract na uri ng data na ginagamit upang kumatawan sa mga pagkalkula (sa halip na data sa modelo ng domain). Mga Monad payagan ang programmer upang i-chain ang mga aksyon nang sama-sama upang bumuo ng isang pipeline, kung saan ang bawat aksyon ay pinalamutian ng mga karagdagang panuntunan sa pagproseso na ibinigay ng monad.

Ano ang Monad Haskell?

Sa Haskell a monad ay kinakatawan bilang isang type constructor (tawag itong m), isang function na bumubuo ng mga value ng ganoong uri (a -> ma), at isang function na pinagsasama ang mga value ng ganoong uri sa mga computations na gumagawa ng mga value ng ganoong uri upang makabuo ng bagong computation para sa mga halaga ng ganoong uri (ma -> (a -> mb) -> mb).

Inirerekumendang: