2011-08-07 8 views
6

कुछ समय के बाद मैं What happens to you if you break the monad laws? मैं हास्केल विकी पर इस अस्पष्टीकृत वाक्यांश भर में ठोकर खाई, एक पृष्ठ पर पूछा के बारे में Safely running untrusted haskell code:क्या किसी को पता है (या याद है) कैसे कक्षा कानून तोड़ने से जीएचसी में समस्याएं पैदा हो सकती हैं?

एक का एक उदाहरण के रूप में

"वर्ग उदाहरणों कि ग्रहण कानून (सीएफ EvilIx) का उल्लंघन बनाने" इसका फायदा उठाएं जो लैम्बडाबोट के खिलाफ संभव था।

चूंकि लैम्बडबॉट जीएचसी का उपयोग करता है, इसलिए यह कक्षा कानूनों के बारे में जीएचसी बनाने की धारणाओं का एक बग (या फीचर) था। क्या किसी को याद है कि वे क्या हैं? और क्या यह कभी (या संभवतः यह संभवतः) हो सकता है?

("हैकेल + इविलक्स" के लिए googling कोई हिट नहीं बदलता है)।

+7

टाइप करने योग्य प्रतिनिधित्व तोड़ना एक काफी आकर्षक उदाहरण है। 'उदाहरण टाइप करने योग्य इंट जहां टाइपरप = "बूल" ' –

+2

ईविलआईक्स: http://www.haskell.org/pipermail/haskell-cafe/2006- दिसम्बर/01 99 4 9 0.html – sclv

+0

टाइप करने योग्य एकमात्र वर्ग नहीं है जो वास्तव में परेशानी का कारण बन सकता है ? – augustss

उत्तर

4

सरणी Ix का उपयोग सीमा प्रबंधन करने के लिए। वे भरोसा Ix यह क्या कहते हैं। यदि ऐसा नहीं होता, तो आप स्मृति स्थानों को एक्सेस करने में सरणी तंत्र चाल कर सकता है कि वे नहीं हैं।

सीएफ EvilIx: http://www.haskell.org/pipermail/haskell-cafe/2006-December/019994.html

+0

यह शोषण अब जीएचसी 7.6 में काम नहीं करता है, मुझे विश्वास है कि यह तय किया गया था लेकिन एक स्रोत नहीं मिला। – sdcvvc

4

अगर हम मॉडलिंग दुष्प्रभाव, एक प्रकार एक इकाई लेकिन होने का दावा के रूप में एक इकाई के बारे में सोच कानूनों गलत आदेश या समय की गलत संख्या में होने वाली प्रभाव में परिणाम कर सकते का पालन नहीं।

इसका क्लासिक उदाहरण ListT है, सूची मोनैड ट्रांसफॉर्मर है। मूल कार्यान्वयन मोनाद कानूनों को सताया नहीं था। , Examples "। जब आप उन्हें मूल कार्यान्वयन कि कानूनों का उल्लंघन करती के साथ चलाने के लिए आप क्या इन कार्यक्रमों कर के बीच अंतर देख सकते हैं" ListT Done Right विकि पृष्ठ अनुभाग बुलाया में ListT के उपयोग के कुछ सरल उदाहरण है " और जब आप उन्हें एक प्रतिस्थापन है कि कानून को संतुष्ट करता है के साथ चलाते हैं।

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

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