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 虎年女孩出生祝福语简短