โอเค ฉันรู้แล้วว่าคลาสประเภท Applicative
มีอะไรบ้าง และเหตุใดจึงมีประโยชน์ แต่ฉันไม่สามารถสรุปได้ว่าคุณจะใช้มันอย่างไรในตัวอย่างที่ไม่สำคัญ
พิจารณาตัวอย่าง ตัวแยกวิเคราะห์ Parsec ที่ค่อนข้างง่ายต่อไปนี้:
integer :: Parser Integer
integer = do
many1 space
ds <- many1 digit
return $ read ds
ทีนี้คุณจะเขียนแบบนั้นโดยไม่ใช้อินสแตนซ์ Monad
สำหรับ Parser
ได้อย่างไร หลายคนอ้างว่าสิ่งนี้สามารถทำได้และเป็นความคิดที่ดี แต่ฉันไม่สามารถเข้าใจได้ว่าจะต้องทำอย่างไร