Haskell优雅的镜片
示例
除了makeLenses用于生成Lenses的标准功能外,Control.Lens.TH还提供该makeClassy功能。makeClassy具有相同的类型,并以与基本上相同的方式工作makeLenses,但有一个关键区别。除了生成标准的镜头和遍历之外,如果该类型没有参数,它还将创建一个类,该类描述将拥有该类型的所有数据类型作为字段。例如
data Foo = Foo { _fooX, _fooY :: Int }
makeClassy ''Foo将创建
class HasFoo t where foo :: Simple Lens t Foo instance HasFoo Foo where foo = id fooX, fooY :: HasFoo t => Simple Lens t Int
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短