/ / क्या जीएचसी खतरनाक गैर-कुल कार्यों के उपयोग के बारे में चेतावनी दे सकता है? - हैकेल, त्रुटि-हैंडलिंग, क्रैश, ghc, कंपाइलर-चेतावनियां

क्या जीएचसी खतरनाक गैर-कुल कार्यों के उपयोग के बारे में चेतावनी दे सकता है? - हैकेल, त्रुटि-हैंडलिंग, क्रैश, ghc, कंपाइलर-चेतावनियां

मैं हास्केल में कुछ कोड लिख रहा हूं, और एक खतरनाक गैर-कुल कार्य का उपयोग करता हूं, अर्थात् fromJust (जहां मैं इनपुट से मूल्य की उम्मीद करता हूं)। मैं बाद में सोचने जा रहा हूं कि मैं किस प्रकार की त्रुटि-हैंडलिंग शैली का उपयोग करना चाहता हूं।

क्या जीएचसी मुझे यह सुनिश्चित करने में मदद कर सकता है कि मैंने खतरनाक गैर-कुल कार्यों के सभी उपयोगों से छुटकारा पा लिया है (जैसे fromJust या head, जो दुर्घटनाग्रस्त हो सकता है), मुझे चेतावनी दें कि वे कहां हैं।

उत्तर:

जवाब के लिए 3 № 1

जीएचसी आंशिक पैटर्न के साथ परिभाषाओं के बारे में चेतावनी दे सकता है -fwarn-incomplete-patterns (यद्यपि अपूर्ण पैटर्न शामिल मानों के उपयोग के बारे में चेतावनी नहीं देता है)। इसके अतिरिक्त, नील मिशेल "एस पकड़ आंशिक कार्यों के सुरक्षित और असुरक्षित आक्रमणों की पहचान करने के लिए थोड़ा और विस्तृत विश्लेषण प्रयास करता है। (हालांकि निश्चित रूप से "सामान्य रूप से एक अपरिहार्य समस्या है, इसलिए यह हमेशा सही नहीं होता!)