4
ghci의 -XNoImplicitPrelude 플래그에 대한 이해가 잘못되었으며 매우 혼란 스럽습니다.NoImplicitPrelude를 사용하여 숫자 리터럴의 구문을 다시 바인딩
정수 리터럴 (368 개) 수단이 아니라 "(368 : 정수) Prelude.fromInteger"이 아닌 "fromInteger (368 : 정수)"라고 말한다.
그러나, 나는이 코드를로드 할 때 :
*Try> 4
Nummy 4.0
*Try>
를 닮아을 :
~/tmp$ ghci -XNoImplicitPrelude try.hs
[1 of 1] Compiling Try (try.hs, interpreted)
Ok, modules loaded: Try.
*Try> 4
4
내가 얻을 것으로 예상하는 경우 : ghci 속으로
{-# LANGUAGE NoImplicitPrelude #-}
module Try where
import Prelude (Float,Integer, realToFrac)
data MyNum = Nummy Float
fromInteger :: Integer -> MyNum
fromInteger x = Nummy (realToFrac x)
을, 나는 다음과 같은 수 Try 모듈에서 문제가 발생합니다. 예를 들어 MyNum 형식의 함수를 선언하고이를 정수 리터럴과 동일하게 정의하면 형식 오류가 발생합니다.
감사합니다. 아무도 왜이 질문을하지 않았는지 궁금합니다. 나는 내 손등에 문신을 한 "RTFM"이 필요하다고 생각한다. – Thomas