तो मैं हास्केल सीख रहा हूँ और एक सरल कोड है जो सिर्फ एक स्ट्रिंग में प्रत्येक अक्षर को दोहराता है लिखना चाहते थे twice.So मैं इस के साथ आया था:हास्केल - हास्केल में गैर संपूर्ण पैटर्न मिलान
repl :: String->String
repl " " = " "
repl (x:xs) = x:x:repl xs
अब जब मैं किसी चेतावनी लेकिन नहीं मिला संकलन एक रन-टाइम त्रुटि उत्पन्न हुई जब मैं repl "abcd"
किया:
"abcd*** Exception: repl.hs:(2,1)-(3,23): Non-exhaustive patterns in function repl
तो क्यों किया संकलक कभी नहीं इस सूचना दी और क्यों यह हास्केल में नजरअंदाज कर दिया है जब वहाँ OCaml तरह कई भाषाओं जो स्पष्ट रूप से रिपोर्ट कर रहे हैं संकलन के समय यह?
'ghc -fwarn-inc omplete-pattern' उपयुक्त लगता है ... –
अगर इसे-साथ संकलित किया गया तो इसे चेतावनी देना चाहिए। विशेष रूप से, ध्वज-फर्न-अपूर्ण-पैटर्न इस –