Monads ทั้งหมดเป็น Monoids หรือไม่?
Monads ทั้งหมดเป็น Monoids หรือไม่?

วีดีโอ: Monads ทั้งหมดเป็น Monoids หรือไม่?

วีดีโอ: Monads ทั้งหมดเป็น Monoids หรือไม่?
วีดีโอ: A monad is a monoid in the category of endofunctors. Whats the problem? #SoMe2 2024, อาจ
Anonim

คำตอบที่พูดได้ดี บางทีคำตอบที่สั้นที่สุดก็คือ: A โมนาด เป็นเพียง โมนอยด์ ในประเภทของเอนโดฟังกเตอร์ พอใจ โมนอยด์ สัจพจน์ (i. & ii.), a โมนาด สามารถเห็นได้เป็น โมนอยด์ ซึ่งเป็นเอ็นโดฟังกเตอร์ร่วมกับการเปลี่ยนแปลงตามธรรมชาติสองประการ

ในที่นี้ Monad Endofunctor คืออะไร?

ในทฤษฎีหมวดหมู่ สาขาวิชาคณิตศาสตร์ a โมนาด (เช่น สาม สาม การก่อสร้างมาตรฐาน และการก่อสร้างพื้นฐาน) เป็น ต่อมไร้ท่อ (functor จับคู่หมวดหมู่กับตัวมันเอง) พร้อมกับการแปลงตามธรรมชาติสองแบบที่จำเป็นเพื่อให้เป็นไปตามเงื่อนไขที่สอดคล้องกัน

ต่อมาคำถามคือ Bifunctor คืออะไร? NS bifunctor (เรียกอีกอย่างว่าฟังก์ชันไบนารี) คือ functor ที่มีโดเมนเป็นหมวดหมู่ผลิตภัณฑ์ มันสามารถเห็นเป็น functor ในสองอาร์กิวเมนต์ ฟังก์ชันหอมเป็นตัวอย่างที่เป็นธรรมชาติ มันขัดแย้งกันในอาร์กิวเมนต์หนึ่ง ตัวแปรร่วมในอีกอาร์กิวเมนต์ มัลติฟังก์ชั่นคือการสรุปแนวคิดของ functor ให้เป็นตัวแปร n ตัว

Monad ในการเขียนโปรแกรมคืออะไร?

จากวิกิพีเดีย: ใช้งานได้จริง การเขียนโปรแกรม , NS โมนาด เป็นประเภทข้อมูลนามธรรมชนิดหนึ่งที่ใช้แทนการคำนวณ (แทนที่จะเป็นข้อมูลในโมเดลโดเมน) Monads อนุญาตให้ โปรแกรมเมอร์ เพื่อเชื่อมโยงการดำเนินการร่วมกันเพื่อสร้างท่อซึ่งในแต่ละการกระทำตกแต่งด้วยกฎการประมวลผลเพิ่มเติมที่ โมนาด.

Monad Haskell คืออะไร?

ใน Haskell NS โมนาด ถูกแสดงเป็นตัวสร้างประเภท (เรียกมันว่า m) ฟังก์ชันที่สร้างค่าของประเภทนั้น (a -> ma) และฟังก์ชันที่รวมค่าของประเภทนั้นเข้ากับการคำนวณที่สร้างค่าของประเภทนั้นเพื่อสร้างการคำนวณใหม่สำหรับ ค่าของประเภทนั้น (ma -> (a -> mb) -> mb)

แนะนำ: