나는이 질문에 대한 비 응답의 일이지만, 인식 내 인상입니다 베테랑 하스켈들 프로그래머들은 처음에는 경고가 아닌 오류를 생성하기 위해 -Werror
을 사용할 때까지 비 - 철저한 패턴을 피해야한다는 일반적인 합의가 있습니다.
GHCi와 함께 작동하는 방법이 잘 모르겠는데, 특히 파일을로드하는 대신 프롬프트에서 함수를 작성하는 경우에 특히 유용합니다. 대화식으로 작업합니다. 그래도 적절한 명령 행 플래그로 GHCi를 실행하면 원하는 결과를 얻을 수 있습니다.
비 철저한 패턴에 대한보다 과감한 해결책을 원할 경우 항상 Catch을 현대 GHC 버전에서 사용할 수 있습니다. ㅎ.
그 외에도 일부 값으로 함수를 호출해서는 안되기 때문에 비 한정적인 패턴을 사용하는 경우 유효하지 않은 인수가있는 경우 누락 된 사례는 error $ "function foo called with ridiculous arguments " ++ show blahBlah
과 같이 채울 수 있습니다 도움이됩니다. 또는 코드를 다시 작성하거나 더 특수화 된 데이터 유형을 정의하여 함수가 항상 맨 아래가 아닌 인수로 현명한 것을 할 수 있도록 할 수 있습니다.
그렇지 않으면 어색한 디버깅이 필요합니다.
슬프게도 이것이 항상 내가 볼 수있는 한 경고하지는 않는다 ... 나는 방금 그것을 시험해 보았다. – toofarsideways
분명히 이것은 ghc에 입력되고 파일에서로드되지 않은 명령문에만 적용됩니다. 나는 그것을 위해 일하기 위해 나의 대답을 업데이트했다. –
감사합니다, 내가 필요한 것! – toofarsideways