我的问题是最后一点:
module A where
data A = A { f :: Int }
defaultA = A { f = 0 }
以及
module B where
import A as A
data B = B { f :: Int }
bToA :: B -> A
bToA x = defaultA { A.f = f x }
gives
B.hs:8:26:
Ambiguous occurrence `f
It could refer to either `B.f , defined at B.hs:5:13
or `A.f , imported from A at B.hs
因为不能包括 B自称是,解决“空间冲突”的替代办法是什么? 我不会改称冲突的职能。
Edit:增订了这方面的实例。