记录中无法访问的字段

时间:2011-08-30 08:14:25

标签: haskell

关于previous question的更多[间接]:那里,我对镜头的定义是

data Iso α β = Iso { fw :: α -> β, bw :: β -> α }
data Lens α β = forall r. Lens (Iso α (β, r))

这很好,只要模块导入不合格。问题从它的情况开始,而对于import qualified Util.Lens as L,我收到的错误是fw不是构造函数Iso的(可见)字段。代码本身很简单,

data BValue = BValue { p :: Float, d :: Float, q :: Float } deriving Show
pLens :: L.Lens BValue Float
pLens = L.Lens (L.Iso { fw = pFwd, bw = pBwd })

Util.Lens导出Lens(..)Iso(..)。 TIA。

1 个答案:

答案 0 :(得分:5)

记录字段也需要限定,即:

L.Iso { L.fw = pFwd, L.bw = pBwd }