Je, monads zote ni Monoids?
Je, monads zote ni Monoids?

Video: Je, monads zote ni Monoids?

Video: Je, monads zote ni Monoids?
Video: JE UMELISIKIA JINA ZULI(Skiza code 6930226)- PAPI CLEVER & DORCAS Ft MERCI PIANIST : MORNG WRSHP 143 2024, Desemba
Anonim

Jibu lililosemwa vizuri, labda jibu fupi zaidi kuwahi kutokea ni: A monad ni a monoid katika jamii ya endofunctors. Imeridhika monoid axioms (i. & ii.), a monad inaweza kuonekana kama a monoid ambayo ni endofunctor pamoja na mabadiliko mawili ya asili.

Hapa, Monad Endofunctor ni nini?

Katika nadharia ya kategoria, tawi la hisabati, a monad (pia mara tatu, tatu, ujenzi wa kawaida na ujenzi wa kimsingi) ni endofunctor (kitendaji kinachotengeneza kategoria yenyewe), pamoja na mabadiliko mawili ya asili yanayohitajika ili kutimiza masharti fulani ya mshikamano.

Baadaye, swali ni, Bifunctor ni nini? A bifunctor (pia inajulikana kama kitendaji cha jozi) ni kitendaji ambacho kikoa chake ni kategoria ya bidhaa. Inaweza kuonekana kama kifanisi katika hoja mbili. Hom functor ni mfano wa asili; ni kinyume katika hoja moja, ni ya kutofautisha katika nyingine. Multifunctor ni ujanibishaji wa dhana ya kiboreshaji kwa vigezo vya n.

Kisha, Monad ni nini katika programu?

Kutoka kwa wikipedia: Katika kazi kupanga programu , a monad ni aina ya aina ya data dhahania inayotumika kuwakilisha hesabu (badala ya data katika muundo wa kikoa). Monads kuruhusu programu kuunganisha vitendo pamoja ili kujenga bomba, ambalo kila hatua hupambwa kwa sheria za ziada za usindikaji zinazotolewa na monad.

Monad Haskell ni nini?

Katika Haskell a monad inawakilishwa kama aina ya kijenzi (iite m), kazi inayounda maadili ya aina hiyo (a -> ma), na kazi inayochanganya maadili ya aina hiyo na hesabu zinazotoa maadili ya aina hiyo kutoa hesabu mpya ya maadili ya aina hiyo (ma -> (a -> mb) -> mb).

Ilipendekeza: