ไม่คุณไม่จำเป็นต้องรับหนังสือเกี่ยวกับทฤษฎีหมวดหมู่เพื่อทำความเข้าใจ Haskell
ฉันใช้ Haskell มาสองสามปีแล้วและหยิบทฤษฎีหมวดหมู่ขึ้นมาจากความอยากรู้อยากเห็นมันไม่จำเป็นจริงๆ ในมือข้างหนึ่งมันเจ๋งที่เห็นว่า abstractions เหล่านี้เข้ากับ "ภาพใหญ่" แต่ฉันไม่ได้ไป "โอ้ฉันพุทโธ่ฉันแค่ต้องทำให้ศาสตราจารย์คนนี้จากMaybe
หมวดหมู่เป็น[]
s แล้วฉันสามารถบันทึก เจ้าหญิง!"
ตอนนี้ขึ้นอยู่กับสิ่งที่คุณทำกับทฤษฎีประเภท Haskell อยู่บนรั้ว
หากคุณเพียงแค่การเรียนรู้ Haskell ไม่ได้ไปพยายามที่จะเข้าใจความแตกต่างของระบบการพิมพ์ทุก กรุณาอย่ามันเหมือนกับการพยายามเรียนรู้การเขียนโปรแกรมแม่แบบ C ++ ก่อน ประเภทแฟนซีเป็นเครื่องมือที่ยอดเยี่ยม แต่มีความเข้าใจที่ดีของการเขียนโปรแกรมการทำงานทำความเข้าใจความแตกต่าง impredicative
ทีนี้สมมุติว่าหลังจากหนึ่งปีหรือสองปีของ Haskell คุณกำลังมองหาที่จะเข้าใจว่าระบบการพิมพ์ของ Haskell ทำงานได้ดีแค่ไหนใช่แล้วทฤษฎีการพิมพ์บางอย่างอาจมีประโยชน์
มันจะช่วยให้คุณเข้าใจตรรกะบางอย่างที่อยู่เบื้องหลังการทำงานของสิ่งต่าง ๆ รวมถึงมันเป็นสาขาวิทยาศาสตร์คอมพิวเตอร์ IMO ที่เจ๋งจริงๆที่ควรค่าแก่การดู คุณสามารถเลือกชิ้นส่วนที่คุณสนใจและยังเรียนรู้ในปริมาณที่เหมาะสม
สำหรับ Haskell ให้ดูที่ STLC, HM type systems (System F) และบางที lambda cube (Haskell คือ System Fw iirc) และ iso-recursive ประเภทและภาษาการเขียนโปรแกรมเป็นแหล่งข้อมูลชั้นเยี่ยมสำหรับการเริ่มต้นและครอบคลุมสิ่งเหล่านี้และอื่น ๆ อีกมากมาย
หากคุณต้องการดื่มเครื่องดื่มสุดเจ๋งและค้นพบว่าคุณเป็นนักทฤษฎีประเภทรุ่นให้ไปที่ Agda หรือ Coq ฟีเจอร์เหล่านี้ "ประเภทที่ต้องพึ่งพา" ซึ่งอยู่ห่างออกไปหนึ่งก้าวในลูกบาศก์แลมบ์ดากว่าแฮสเคลล์ ประเภทขึ้นอยู่กับให้ประเภทขึ้นอยู่กับเงื่อนไข นี่หมายความว่าประเภทนั้นมีพลังมากพอที่จะพิสูจน์ทฤษฎีบทได้ สำหรับผู้ที่อยากรู้อยากเห็น googling "แกงโฮเวิร์ดมอร์ฟมอร์ฟิซึ่ม" ควรนำผลลัพธ์ที่น่าสนใจมาให้