Adakah semua monad Monoid?
Adakah semua monad Monoid?

Video: Adakah semua monad Monoid?

Video: Adakah semua monad Monoid?
Video: Абсолютно лучшее введение в монады для инженеров-программистов 2024, November
Anonim

Jawapan yang baik, mungkin jawapan yang paling ringkas ialah: A monad hanyalah a monoid dalam kategori endofunctors. Puas hati monoid aksiom (i. & ii.), a monad boleh dilihat sebagai a monoid yang merupakan endofunctor bersama-sama dengan dua transformasi semula jadi.

Di sini, apakah Monad Endofunctor?

Dalam teori kategori, cabang matematik, a monad (juga triple, triad, pembinaan standard dan pembinaan asas) ialah satu endofunctor (functor memetakan kategori kepada dirinya sendiri), bersama-sama dengan dua transformasi semula jadi yang diperlukan untuk memenuhi syarat koheren tertentu.

Seterusnya, persoalannya ialah, apakah itu Bifunctor? A bifunctor (juga dikenali sebagai fungsi binari) ialah fungsi yang domainnya ialah kategori produk. Ia boleh dilihat sebagai functor dalam dua hujah. Fungsi Hom adalah contoh semula jadi; ia bertentangan dalam satu hujah, kovarian dalam yang lain. Multifunctor ialah generalisasi konsep functor kepada n pembolehubah.

Kemudian, apakah Monad dalam pengaturcaraan?

Daripada wikipedia: Dalam fungsi pengaturcaraan , a monad ialah sejenis jenis data abstrak yang digunakan untuk mewakili pengiraan (bukannya data dalam model domain). Monad membenarkan pengaturcara untuk merantai tindakan bersama-sama untuk membina saluran paip, di mana setiap tindakan dihiasi dengan peraturan pemprosesan tambahan yang disediakan oleh monad.

Apakah Monad Haskell?

Dalam Haskell a monad diwakili sebagai pembina jenis (panggilnya m), fungsi yang membina nilai jenis itu (a -> ma), dan fungsi yang menggabungkan nilai jenis itu dengan pengiraan yang menghasilkan nilai jenis itu untuk menghasilkan pengiraan baharu untuk nilai jenis itu (ma -> (a -> mb) -> mb).

Disyorkan: