मैंने देखा कि Data.UnionFind IORefs के माध्यम से पॉइंटर्स प्रदान करने के लिए आईओ मोनैड का उपयोग करता है। मुझे लगता है कि हर किसी को शुद्ध कोड में स्थानीय रूप से इसका उपयोग करते समय unsafePerformIO
खुशी से कॉल करता है, क्योंकि डेटा संरचना इतनी अच्छी तरह से समझी जाती है, लेकिन ..शुद्ध कोड में आईओआरएफ से बचें
क्या ऐसे डेटा संरचनाओं के लिए एक कैननिकल क्लीनर दृष्टिकोण है? शायद आईओ के चारों ओर एक रैपर जो अनिवार्य बनाता है unsafePerformIO
अधिकांश आईओ संचालन को प्रतिबंधित करके कम असुरक्षित "दिख रहा है"?
मेरा मानना है कि पैकेज आईओ मोनैड के अंदर उपयोग किया जाना है। अधिकांश हास्केलर्स जितना संभव हो सके 'असुरक्षितफॉर्मियो' से दूर रहते हैं। –