Hackage इकाई ट्रांसफार्मर के लिए कई संकुल है:MTL, ट्रांसफॉर्मर, monads-fd, monadLib, और पसंद का विरोधाभास
- mtl: इकाई ट्रांसफार्मर पुस्तकालय
- transformers: कंकरीट functor और इकाई ट्रांसफार्मर
- monads-fd: इकाई वर्गों कार्यात्मक निर्भरता
- monads-tf का उपयोग कर,:, इकाई वर्गों प्रकार परिवारों का उपयोग कर
- monadLib: इकाई ट्रांसफार्मर का एक संग्रह।
- mtl-tf: इकाई ट्रांसफार्मर प्रकार परिवारों का उपयोग कर पुस्तकालय।
- mmtl: मॉड्यूलर इकाई ट्रांसफार्मर पुस्तकालय
- mtlx: प्रकार सूचकांक इकाई ट्रांसफार्मर पुस्तकालय, उपलब्ध कराने के 'निःशुल्क' प्रतियां।
- compose-trans: composable इकाई ट्रांसफार्मर
(और शायद मैं कुछ याद किया)
कौन सा उपयोग हम चाहिए?
एमटीएल हास्केल प्लेटफ़ॉर्म में से एक है, लेकिन मैं रेडडिट पर सुनता रहता हूं कि यह अनकॉल है।
लेकिन क्या पसंद के बारे में बुरा वैसे भी, है यह सिर्फ एक अच्छी बात है न?
ठीक है, मैंने देखा कि कैसे उदाहरण के लिए डेटा-एक्सेसर के लेखकों इन सभी के लिए सिर्फ लोकप्रिय विकल्पों में पूरा करने के लिए करना था:
- डेटा-एक्सेसर-monadLib पुस्तकालय: monadLib के monads के लिए Accessor कार्यों
- डेटा-एक्सेसर-monads-fd पुस्तकालय: उपयोग accessor में राज्य का उपयोग करने की monads-fd राज्य इकाई वर्ग
- डेटा-एक्सेसर-monads-TF पुस्तकालय: उपयोग accessor monads-TF राज्य इकाई प्रकार परिवार में राज्य का उपयोग करने की
- डेटा-एक्सेसर-MTL पुस्तकालय: उपयोग accessor राज्य तक पहुँचने के लिए मैं n MTL राज्य इकाई वर्ग
- डेटा-एक्सेसर-ट्रांसफार्मर पुस्तकालय: उपयोग Accessor ट्रांसफार्मर राज्य इकाई में राज्य का उपयोग करने की
मैं कल्पना है कि अगर इस पर और उदाहरण कई प्रतिस्पर्धी तीर संकुल विकसित के लिए चला जाता है, हम कुछ देख सकते हैं जैसे: spoonklink-तीर-ट्रांसफॉर्मर, spoonklink-तीर-monadLib, spoonklink-tfArrows-ट्रांसफॉर्मर, spoonklink-tfArrows-monadLib, ...
और फिर मैं चिंता डिस्क से बाहर है कि अगर spoonklink काँटेदार हो जाता है, Hackage चलेंगे अंतरिक्ष । :)
सवाल:
- क्यों इतने सारे इकाई ट्रांसफार्मर संकुल देखते हैं?
- क्यों MTL [माना] uncool है?
- मुख्य अंतर क्या हैं?
- इनमें से अधिकतर प्रतिस्पर्धी पैकेज एंडी गिल द्वारा लिखे गए थे और रॉस पैटरसन द्वारा बनाए रखा जाता है। क्या इसका मतलब यह है कि ये पैकेज प्रतिस्पर्धा नहीं कर रहे हैं बल्कि किसी तरह से मिलकर काम करते हैं? और क्या एंडी और रॉस अप्रचलित के रूप में अपने स्वयं के किसी भी पैकेज पर विचार करते हैं?
- आपको कौन सा और मैं उपयोग करना चाहिए?
यह लिंक मुझे MTL ट्रांसफार्मर बनाम समझ में http://www.haskell.org/haskellwiki/Monad_Transformer_Library –
के लिए [@jberryman टिप्पणी] (http://stackoverflow.com/questions/2769487/mtl-transformers नीचे स्क्रॉल मदद की -monads-एफडी monadlib और-विरोधाभास के- विकल्प # comment8791863_2769664)! एमटीएल या ट्रांसफॉर्मर्स का प्रयोग करें, वे संगत हो गए! – Sophie