2011-04-26 12 views
24

हैकेज पर कई अलग-अलग मोनड ट्रांसफार्मर पुस्तकालय हैं। कुछ दूसरों की तुलना में अधिक ध्यान देने लगते हैं। कुछ नामों के लिए: mtl (किसी कारण से ट्रांसफॉर्मर के आधार पर वर्तमान संस्करण), ट्रांसफार्मर, monadLib, monads-tf, mtlx, contstuff।मोनाड ट्रांसफार्मर पुस्तकालय - किस का उपयोग करना है?

कौन सा प्राथमिकता दी जानी चाहिए और क्यों? उनकी अनूठी विशेषताओं क्या हैं? प्रदर्शन के बारे में क्या?

+2

एक मामूली बिंदु का उत्तर देने के लिए: मेरा मानना ​​है कि 'ट्रांसफॉर्मर' के पक्ष में 'mtl' को क्रमशः चरणबद्ध किया जा रहा है। इस प्रक्रिया में वर्तमान चरण इसे 'ट्रांसफार्मर' के आसपास एक पतली रैपर के साथ बदल रहा है, इसलिए निर्भरता। –

+5

@camccann: 'mtl'' ट्रांसफॉर्मर्स 'की तुलना में कड़ाई से अधिक कार्यक्षमता प्रदान करता है, और 'ट्रांसफॉर्मर्स' + 'monads-fd' (जिसे अब बहिष्कृत किया गया है) के बराबर है। 'ट्रांसफॉर्मर 'एक Haskell-98 पैकेज में जितना संभव हो सके, अतिरिक्त कार्यक्षमता (मुख्य रूप से अधिक उदाहरण)' mtl' द्वारा प्रदान किए गए, या वांछित वैकल्पिक पैकेज (उदा।' monads-tf') के साथ प्रदान करता है। –

+0

@ जॉन एल: ओह, तो 'mtl' प्रभावी रूप से' monads-fd' को बदल रहा है? स्पष्टीकरण के लिए धन्यवाद, मैं समय के पीछे थोड़ा सा हूँ। –

उत्तर

16

Haskell Platform मानक के रूप में mtl और transformers निर्दिष्ट करता है।

यदि आप अनिश्चित हैं, तो आपको केवल mtl का उपयोग करना चाहिए।

हालांकि, यदि आपके पास नई पुस्तकालयों को देखने के लिए एक विशिष्ट तकनीकी कारण है, तो वे मुद्दों को हल करते हैं या mtl पर नई सुविधाएं जोड़ते हैं। विशेष रूप से monadLib में कुछ नई विशेषताएं हैं।

+2

हिमाचल प्रदेश द्वारा MTL चुनने के पीछे तर्क क्या है समझने में मदद की? – Tener

+0

यह सबसे पुराना, सबसे व्यापक रूप से उपयोग किया जाता है, और सबसे अच्छी तरह से मोनैड लाइब्रेरी समझा जाता है। –

+2

... जहां, [हैकेज निर्भरताओं द्वारा जा रहा है] (http://bifunctor.homelinux.net/~roel/hackage/packages/archive/revdeps-list.html), "सबसे व्यापक रूप से उपयोग" का अर्थ है "ऑर्डर" 'ट्रांसफार्मर' संयुक्त के अलावा अन्य सभी की तुलना में परिमाण की अधिकता "। –

संबंधित मुद्दे