ฉันต้องการที่จะเข้าใจApplicative
ในแง่ของทฤษฎีหมวดหมู่
เอกสารสำหรับการApplicative
บอกว่ามันเป็นเรื่องที่มีความแข็งแกร่ง functor
ครั้งแรกที่วิกิพีเดียหน้าเกี่ยวกับfunctors monoidalบอกว่า functor monoidal เป็นทั้งหละหลวมหรือที่แข็งแกร่ง ดังนั้นสำหรับฉันดูเหมือนว่าแหล่งใดแหล่งหนึ่งผิดหรือใช้เงื่อนไขต่างกัน มีใครอธิบายได้บ้าง
ประการที่สองประเภท monoidal ซึ่งApplicative
เป็น function monoidal คืออะไร? ฉันสมมติว่า functors เป็น endo-functors ในหมวดหมู่ Haskell มาตรฐาน (object = types, morphisms = ฟังก์ชั่น) แต่ฉันไม่รู้ว่าโครงสร้าง monoidal ของหมวดนี้คืออะไร
ขอบคุณที่ช่วยเหลือ.
Functor
มีจุดแข็ง (ผลิตภัณฑ์ WRT) เพียงเพราะพวกเขากำหนดโดยใช้fmap
ภายในภาษาหรือไม่ นอกจากนี้ปริศนาอะไรที่ฉันนิยามคำว่าและกลับด้านเมื่อเปรียบเทียบกับทั้งโพสต์บล็อกของคุณและบทความ Wikipedia - มันเป็นคำที่สะกดผิดหรือเปล่า? ผมพยายามที่จะกำหนดใช้เป็นที่ชัดเจนต้องการpure
i
pure' = \v -> fmap (\() -> v) (i ())
i :: (Applicative f) => () -> f ()