2017-12-29 100 views
6

मैं कुछ डॉक्स और ट्यूटोरियल में देखा है:हास्केल समुदाय में "रनसोमिंग" सम्मेलन के लिए क्या अर्थ है?

अमूर्त अवधारणा है कि इस पद्धति को शामिल किया गया है? हास्केल में कुछ मतलब क्या चल रहा है?

साइड सवाल, क्या उन चीज़ों के लिए एक टैग है जो आप हमेशा जानना चाहते थे लेकिन पूछने से बहुत डरते थे?

+2

'रन *', 'eval *', और 'exec *' जैसे कार्यों को विशेष मोनैड (रीडर, और इस मामले में राज्य) के साथ करना है। आप मोनाड्स के बारे में कितना गहरा जवाब देंगे? –

+0

जितना संभव हो उतना सामान्य। मैं ऐसे ट्यूटोरियल को समझना चाहता हूं जो ऐसा लगता है कि मैं इस सम्मेलन को समझता हूं। –

+0

शायद आपको विकीबुक [राज्य मोनड पर अध्याय] पढ़ना चाहिए (https://en.wikibooks.org/wiki/Haskell/Understanding_monads/State)। –

उत्तर

10

हास्केल में, सम्मेलन runSomething का अर्थ है 'दिए गए तर्क के अंदर वर्णित प्रभाव निष्पादित करें, और परिणामी मान वापस करें'।

मैंने जानबूझकर 'प्रभाव' कहा क्योंकि मैं अस्पष्ट था; हास्केल में आप विभिन्न प्रभावों का वर्णन करने के लिए टाइप सिस्टम का उपयोग करते हैं, जैसे I/O, या राज्य को संशोधित करना आदि। इसलिए सटीक प्रकार के आधार पर, अंतिम मान वापस आने से पहले विभिन्न प्रभाव चलाए जा सकते हैं।

+10

और पूर्णता के लिए: 'evalSomething' तब होता है जब आप प्रभावों की परवाह नहीं करते हैं और यह मानने के लिए सबसे हल्का वजन संभव तरीका चाहते हैं, जबकि' execSomething' तब होता है जब आप केवल प्रभाव और मूल्य की परवाह करते हैं अंत में यह गणना अप्रासंगिक है। –

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