记录中无法访问的字段

Are*_*lis 3 haskell

关于我之前的问题,有点[间接] :在那里,我对镜头的定义是

data Iso ? ? = Iso { fw :: ? -> ?, bw :: ? -> ? }
data Lens ? ? = forall r. Lens (Iso ? (?, r))
Run Code Online (Sandbox Code Playgroud)

这很好,只要模块导入不合格.问题从它的情况开始,并且因为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 })
Run Code Online (Sandbox Code Playgroud)

Util.Lens导出两个Lens(..)和Iso(..).TIA.

sep*_*p2k 5

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

L.Iso { L.fw = pFwd, L.bw = pBwd }
Run Code Online (Sandbox Code Playgroud)