2011-10-30 9 views
2

次のimportステートメントは、foldrなどと競合します。最初のimportステートメントがData.Foldableのすべての関数を私のモジュールにインポートしているようです:Foldableクラスをモジュールにインポートするにはどうすればよいですか?

import Data.Foldable (Foldable (..)) 
import qualified Data.Foldable as Foldable (foldr, foldl, foldr1, foldl1, foldMap) 

このインポートステートメントは機能しているようです。あなたは

import Prelude hiding (foldr) 

答えて

9

foldrなどは、それゆえ、彼らはimport Data.Foldable (Foldable(..))によって修飾されていない輸入しているFoldableのクラスメソッドですプレリュードモジュールからfoldrを非表示にする必要があり

import qualified Data.Foldable as Foldable (Foldable (..), foldr, foldl, foldr1, foldl1, foldMap) 
+0

ありがとうございました!私は(..)を当然受け取ります。今私はそれを尊重する理由を見つけました。 :-) –

2

:しかし折り畳み式のクラスは今Foldable.Foldableです第1の変形例では、 クラスをインポートするのは、メソッドではなく、修飾されていないクラスのみです。

import Data.Foldable (Foldable) 
import qualified Data.Foldable as Foldable 
関連する問題