logo
首页技术栈工具库讨论
yall

yall

Why yet another lens library? First, none of the existing libraries for Lenses were adequate for my needs (specifically for my use of lenses in pez). And anyway, why not try to create something novel and better? Distinguishing features: Lenses are parameterized over two Monads (by convention m and w), and look like a -> m (b -> w a, b). this lets us define lenses for sum types, that perform validation, that do IO (e.g. persist data to disk), etc., etc. a module Data.Yall.Iso that complements Lens powerfully a rich set of category-level class instances (for now from categories) for Lens and Iso. These along with the pre-defined primitive lenses and combinators give an interface comparable to Arrow You should import either Data.Yall or Data.Yall.Lens, and optionally Data.Yall.Iso. Data.Yall is a simplified, but mostly-compatible, version of a subset of Data.Yall.Lens. UPDATE: I have stopped developing this package. Instead you should take a look at and contribute to http://hackage.haskell.org/package/lens TODOs: a module providing template haskell deriving of Lenses pre-define lenses for prelude types, State CHANGES: depend on categories >= 1
由 
bruceshi2021-01-13 收录
--
推荐
不推荐
更多信息
GitHub iconjberryman/yall4
HACKAGE
carbal install yall
查看
标签
根据用户添加的标签生成
暂无标签