2014-10-08 2 views

답변

1

힌트에 동일한 기능을 수행 할 수 있으며, 경고는 이미 기본적으로 활성화되어 있습니다. 예를 들어,

frege> f x = f x 
function f :: α -> β 
3: application of f will diverge. 

아마도 우리는 명시 적으로 같은 경고 나 (대신 그들을 구별 색상의) 힌트 뭔가로 말함으로써 더 나은 그것을 만들 수 있습니다 :

[Warning] 3: application of f will diverge. 

하고 그들을 설정하는 옵션을 제공/떨어져서.

는 업데이트 : 실제로 문제가 발생했습니다 컴파일시 이후 단계에서 생성되는 경고를 보여주는 (지적 해 주셔서 감사합니다 잉고!). This issue이 수정되었으며 다음 예제는 이제 REPL에 경고를 올바르게 표시합니다.

frege> h x = 0; h false = 42 
function h :: Bool -> Int 
4: equation or case alternative cannot be reached. 

frege> f false = 6 
function f :: Bool -> Int 
5: function pattern is refutable, consider 
adding a case for true 
+1

그렇지만 일부 경고는 나타나지 않습니다. 'g true = 43'처럼 이제'g false ... '에 대한 빠진 방정식에 대한 경고가 있어야합니다. – Ingo

+0

또 하나 :'h x = 0; h false = 42'는 두 번째 방정식이 사용되지 않는다고 경고해야합니다. – Ingo

+0

왜 이러한 경고가 표시되지 않는지 잘 모르겠습니다. 나는 내일 볼 것이다. –

관련 문제