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 38节贺卡简短祝福语
13 幼儿祝福语押韵句子简短
14 老爸生日暴富祝福语简短
15 金店立秋祝福语简短英文
16 下雪宝宝生日祝福语简短
17 玫瑰礼盒祝福语大全简短
18 回家长的祝福语简短