2011-09-11 9 views
4

ghciの-XNoImplicitPreludeフラグについての私の理解は間違っていて、私は非常に混乱しています。NoImplicitPreludeを使用した数値リテラルの構文のリバック

documentation

整数リテラル368件の手段ではなく "(368 ::整数)Prelude.fromInteger" よりも "fromInteger(368 ::整数)"、と言います。

しかし、私はこのコードを読み込むとき:

*Try> 4 
Nummy 4.0 
*Try> 

Simliarを:

~/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を宣言し、それを整数リテラルと同じに定義すると、型エラーが発生します。

答えて

4

あなたがリンクしたドキュメントでは、それが機能するにはRebindableSyntax拡張機能を有効にする必要があると言われています。

+0

ありがとう、私は誰もこの質問をしなかったのだろうと思っていました。私は私の手の後ろに入れ墨「RTFM」が必要だと思う。 – Thomas

関連する問題