Ar visos monados yra monoidai?
Ar visos monados yra monoidai?

Video: Ar visos monados yra monoidai?

Video: Ar visos monados yra monoidai?
Video: ФИНАЛ - КОНЦОВКА! ФРЕДДИ ЖИВ! ФНАФ РУИНЫ ПРОХОЖДЕНИЕ 🩸 Five Nights at Freddy's: Ruin DLC Прохождение 2024, Gegužė
Anonim

Gerai pasakytas, galbūt trumpiausias atsakymas: A monada yra tik a monoidinis endofunkcinių medžiagų kategorijoje. Patenkinta monoidinis aksiomos (i. ir ii.), a monada gali būti vertinamas kaip a monoidinis kuris yra endofunkcinis kartu su dviem natūraliomis transformacijomis.

Čia, kas yra Monad Endofunctor?

Kategorijų teorijoje matematikos šaka, a monada (taip pat triguba, triguba, standartinė konstrukcija ir pagrindinė konstrukcija) yra an endofunkcinis (funkktorius, priskiriantis kategoriją sau pačiam), kartu su dviem natūraliomis transformacijomis, reikalingomis tam tikroms darnos sąlygoms įvykdyti.

Vėliau kyla klausimas, kas yra Bifunctor? A dvifunkcinis (taip pat žinomas kaip dvejetainis funkcionorius) yra funkcionorius, kurio domenas yra produkto kategorija. Jis gali būti vertinamas kaip funkcinis veiksnys dviem argumentais. Hom funktorius yra natūralus pavyzdys; viename argumente jis yra priešingas, kitame – kovariantinis. Daugiafunkcis yra funktoriaus sampratos apibendrinimas iki n kintamųjų.

Tada kas yra programavimo monada?

Iš wikipedijos: Funkcinis programavimas , a monada yra tam tikras abstraktus duomenų tipas, naudojamas skaičiavimams pavaizduoti (vietoj duomenų domeno modelyje). Monados leisti programuotojas sujungti veiksmus kartu, kad būtų sukurtas dujotiekis, kuriame kiekvienas veiksmas yra papuoštas papildomomis apdorojimo taisyklėmis, pateiktomis monada.

Kas yra Monad Haskell?

Į Haskell a monada yra vaizduojamas kaip tipo konstruktorius (vadinkite jį m), funkcija, kuri sukuria to tipo reikšmes (a -> ma), ir funkcija, kuri sujungia to tipo reikšmes su skaičiavimais, kurie sukuria to tipo reikšmes, kad būtų atliktas naujas skaičiavimas to tipo reikšmės (ma -> (a -> mb) -> mb).

Rekomenduojamas: