GHC के नवीनतम संस्करण का उपयोग करने के लिए शुरुआती हास्केल शिक्षण के लिए, कुछ कार्यों के प्रकार Foldable-traversable में प्रस्तावना (एफ़टीपी) की वजह से भ्रमित हो सकते हैं। उदाहरण के लिए, इस तरह के length
, sum
और product
के रूप में सूची में बुनियादी कार्यों प्रकार है कि Foldable
बाधा foldr :: Foldable t => (a -> b -> b) -> b -> t a -> b
शामिल है। इसी तरह कुछ प्रारंभिक उच्च आदेश कार्यों के लिए उदा। foldl :: Foldable t => (b -> a -> b) -> b -> t a -> b
।बनाना GHC पद एफ़टीपी महसूस पूर्व एफ़टीपी
अस्थायी रूप से पूर्व एफ़टीपी व्यवहार को सक्षम करने के एक हल्के तरीका क्या है? फिर शुरुआती अभी भी हाल ही में एक GHC के सभी लाभों का आनंद ले सकते हैं, और, पुराने संस्करणों को स्थापित करने की कोशिश कर या हग्स का उपयोग कर का सहारा लेना (जैसे के रूप में edX के FP101x 2015 संस्करण के लिए सुझाव दिया) नहीं है।
$ ghci
Prelude> import Prelude hiding (length, sum, product, foldr, foldl, and, or, any, all)
Prelude> import GHC.OldList
Prelude GHC.OldList>
तो फिर तुम सब कुछ के लिए पुराने प्रकार है कि छिपा हुआ था मिलता है, उदाहरण के लिए:
क्यों न सिर्फ GHC 7.8 का उपयोग करें? गले का उपयोग करके मैं – jberryman
की अनुशंसा नहीं करता हूं, मैं सहमत हूं कि मैं गले की सिफारिश नहीं करूंगा। लेकिन, जीएचसी 7.10 का उपयोग करने के बाद और बाद में भी काफी आसान कामकाज है, न ही मैं जीएचसी 7.8 की सिफारिश करता हूं। – algotrific
मुझे लगता है कि मुझे यह पूछना चाहिए था: आप शिक्षा के लिए 7.10 क्या चाहते हैं? वे दोनों बड़े कंपाइलर हैं, जो स्टैकेज लेफ्ट्स द्वारा समर्थित हैं, इंस्टॉल करने के लिए समान रूप से आसान हैं आदि। असल में मैक पर नवीनतम 7.10 के साथ कुछ समस्याएं नहीं हैं? – jberryman