नहीं, आपको हास्केल को समझने के लिए श्रेणी सिद्धांत पर एक पुस्तक लेने की आवश्यकता नहीं है।
मैं कुछ वर्षों के लिए हास्केल का उपयोग कर रहा हूं, और कुछ श्रेणी के सिद्धांत को जिज्ञासा से बाहर निकाला है, यह वास्तव में आवश्यक नहीं है। एक तरफ, यह देखना अच्छा है कि ये सभी सार "बड़ी तस्वीर" में कैसे फिट होते हैं, लेकिन मैं "ओह माय गोश" नहीं गया, मुझे बस इस Maybeवर्ग से []एस तक एक प्रोफेसर बनाने की जरूरत है और फिर मैं बचा सकता हूं राजकुमारी!"।
अब आप हास्केल प्रकार के सिद्धांत के साथ क्या कर रहे हैं, इस पर निर्भर करता है।
यदि आप सिर्फ हेकेल सीख रहे हैं तो टाइप सिस्टम की हर बारीकियों को समझने की कोशिश न करें । कृपया न करें, यह पहले C ++ टेम्पलेट मेटा-प्रोग्रामिंग सीखने की कोशिश करने जैसा है। फैंसी प्रकार उत्कृष्ट उपकरण हैं, लेकिन कार्यात्मक प्रोग्रामिंग धड़कनों की एक अच्छी समझ होने के कारण अप्रत्यक्ष बहुरूपता को समझते हैं।
अब कहते हैं कि हास्केल के एक या दो साल बाद आप हर सूक्ष्म टुकड़े को समझना चाहते हैं कि हास्केल का टाइप सिस्टम कैसे काम करता है, तो हाँ, कुछ प्रकार के सिद्धांत मददगार हो सकते हैं।
यह चीजों को कैसे काम करता है इसके पीछे के कुछ तर्क को समझने में आपकी मदद करेगा, साथ ही यह स्पष्ट रूप से कंप्यूटर विज्ञान आईएमओ की एक बहुत अच्छी शाखा है जो देखने लायक है। आप चेरी को अपनी रुचि के हिस्सों को चुन सकते हैं और फिर भी एक सभ्य राशि सीख सकते हैं।
हास्केल के लिए, STLC, HM टाइप सिस्टम (सिस्टम F) और शायद लैम्ब्डा क्यूब (Haskell is System Fw iirc) और iso-recursive प्रकारों को देख रहा है। प्रकार और प्रोग्रामिंग भाषाएं शुरू करने के लिए एक महान संसाधन हैं और इन सभी को शामिल करती हैं और बहुत कुछ।
यदि आप वास्तव में कूल-एड पीना चाहते हैं और यह जानना चाहते हैं कि आप एक नवोदित प्रकार के सिद्धांतकार हैं, तो एजडा या कोक पर जाएँ। ये सुविधा "आश्रित प्रकार" हैं, हास्केल की तुलना में लैम्बडा क्यूब में एक कदम आगे। आश्रित प्रकार, शर्तों पर निर्भर करते हैं। इसका मतलब यह है कि प्रकार वास्तव में प्रमेय साबित करने के लिए पर्याप्त शक्तिशाली हैं। जिज्ञासु के लिए, "करी हावर्ड आइसोमोर्फिज्म" गुगुलिंग को कुछ दिलचस्प परिणाम लाने चाहिए।