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
热门推荐
5 短祝福语简短暖心
10 结婚祝福语粤语大全简短
11 晚上祝福语女生文案简短
12 法语妈妈生日祝福语简短
13 药厂开工祝福语大全简短
14 蛋糕节日祝福语简短英文
15 跨年的生日祝福语简短
16 文案祝福语英文短句简短
17 在家聚餐婚礼祝福语简短
18 学生节祝福语大全简短