埃尔朗功能镜头
该项目实现了一个单独的(受重注释的)文件lens.erl ,该文件在Erlang中实现了功能性的镜头。 我一直想检查一下它的实现,并且Spawnfest 2012在任何场合都表现出色。
镜头是功能性持久设置中的广义访问器/更改器模式。 它允许我们链接和组成这样的访问器,就像大多数OO语言中的普通foo.bar.baz()链接一样。 它还启动了一个库,用于产生“挖掘”结构的方式,类似于XML中的xpath查询。 但是相反,它还允许对相同结构进行功能更新和更改。
镜头的直觉就像照相机中的镜头一样。 当我们通过镜头观察一个结构时,我们会得到镜头背后扭曲的抽象视图。 这使我们可以通过将透镜投射到不同的光线下来操纵透镜后面的结构。 我们可以将结构拉过镜头,对其进行操作,然后将其推回镜头中,以获取最初的状态,但已更改。
这个项目应该主要被看作是对该概念的探索。 它尚未准备好加入大
评论0
最新资源