Haskell:"使用"在控制镜头吗?

时间:2017-06-29 12:12:43

标签: haskell lens

我是Haskell的新手。我正在阅读代码here,我不确定(尽管我可以猜测)uses做了什么:

inRange <- uses fsCurrentCoinRangeUpperBound (coinIndex <=)

另外,为什么<-被使用了?

我一直在寻找&#34;控制镜头在Haskell中使用&#34;但我找不到任何解释。

2 个答案:

答案 0 :(得分:1)

Google搜索&#34; haskell control.lens&#34;给了我这个:

https://hackage.haskell.org/package/lens-4.15.3/docs/Control-Lens.html

... uses函数来自Lens包的文档。从那里开始,它实际上并不是直截了当地确定哪个确切的模块定义了这个功能。事实证明它是Control.Lens.Getter

https://hackage.haskell.org/package/lens-4.15.3/docs/Control-Lens-Getter.html#v:uses

这就是你如何跟踪随机Haskell函数的文档。该文档是否真正有用的差异很大......

答案 1 :(得分:0)

文档是类型+ haddoc额外位,反之亦然。

例如我们可以看到

uses :: MonadState s m => LensLike' (Const r) s a -> (a -> r) -> m r

返回值就像墨西哥卷饼(因此<-。它会为你提供当前填充以生长更大的卷饼)