कागज अपने आप में कम से कम दो उदाहरण हैं:
"1. परिचय" कहते हैं: "उदाहरण के लिए, हम [संकलन समय पर] एक कथित लाल-काले पेड़ वास्तव में है सुनिश्चित करने के लिए सक्षम हो सकता है लाल-काले संपत्ति "।
"2.1 डेटाटाइप को बढ़ावा देना" लम्बा अनुक्रमित वैक्टर (यानी संकलन-समय के साथ वैक्टर "सीमाओं से बाहर सूचकांक) त्रुटियों पर चर्चा करता है।
आप इस दिशा में पहले के काम को भी देख सकते हैं, उदा। टाइप-सेफ हेटरोजेनस सूचियों और एक्स्टेंसिबल संग्रह के लिए एचएलआईस्ट लाइब्रेरी। Oleg Kiselyov में कई संबंधित काम हैं। आप आश्रित प्रकारों के साथ प्रोग्रामिंग पर भी काम पढ़ सकते हैं। http://www.seas.upenn.edu/~sweirich/ssgip/main.pdf में एग्डा में टाइप-स्तरीय कंप्यूटेशंस के लिए प्रारंभिक उदाहरण हैं, लेकिन इन्हें हास्केल पर भी लागू किया जा सकता है।
शायद, यह विचार है कि head
सूचियों के लिए एक और सटीक प्रकार दिया गया है।
head :: List a -> a
के बजाय यह
head :: NotEmptyList a -> a
बाद सिर समारोह fomer की तुलना में अधिक typesafe है: यह खाली सूचियों के लिए आवेदन किया कभी नहीं किया जा सकता है, क्योंकि यह संकलक त्रुटियों का कारण।
आपको नोट-लक्षण सूची जैसे प्रकारों को व्यक्त करने के लिए प्रकार-स्तर की गणना की आवश्यकता है। कार्यात्मक निर्भरताओं वाले वर्ग टाइप करें, जीएजीटी और (अनुक्रमित) प्रकार के परिवार पहले से ही हैकेल के लिए टाइप-स्तरीय कंप्यूटेशंस के कमजोर रूप प्रदान करते हैं। आपके द्वारा उल्लिखित कार्य इस दिशा में आगे विस्तारित करता है।
केवल Haskell98 प्रकार वर्गों का उपयोग करके कार्यान्वयन के लिए http://www.haskell.org/haskellwiki/Non-empty_list देखें।
यह एक अच्छा सवाल है। एक अच्छा उत्तर बनाने का एक तरीका हो सकता है कि जब आप "कैबल इंस्टॉल करें" प्राप्त करते हैं तो आपको प्राप्त होने वाली उदाहरण फ़ाइलों का अनुवाद करना हो सकता है। मैं पाठक के लिए अभ्यास के रूप में SHE-code पोस्ट कर सकता हूं: क्या यह उपयोगी होगा? मैं अभी 7.4 स्थापित करने की कोशिश कर रहा हूं, लेकिन मैं तेंदुए चला रहा हूं और मुझे एक बुरा परिणाम डर है। – pigworker
@pigworker, मैंने SHE उदाहरणों पर एक नज़र डालने की कोशिश की और मुझे लगता है कि मैंने कुछ हिस्सों को गड़बड़ कर दिया है, लेकिन "डमीज़ के लिए टिप्पणियों" के साथ एक सरल SHE उदाहरण शायद अच्छा भी होगा। – aleator