功能语言和对memoization的支持

Joe*_*oel 13 functional-programming memoization

当前任何一种流行的函数式语言都能很好地支持memoization,如果我要根据它的memoisation选择一个,你会推荐和为什么?

更新:我正在寻找优化有向图(节点可以是函数或数据).当图中的节点被更新时,我希望仅当它们依赖于已更改的节点时才重新计算其他节点的值.

Update2:需要免费或开源语言/运行时.

Nor*_*sey 7

对于Haskell,Conal Elliott发布了一篇关于功能备忘录尝试的精美博客文章.这项工作非常聪明且非常深刻,后来Conal将其扩展到多态函数.无论你使用什么语言,强烈建议使用这些东西,因为它揭示了函数式语言中记忆化的深层思想.

但是,看看你的更新,目前还不清楚memoization是否真的是你想要的.您扩展的问题陈述(通过有向图传播更新)几乎是增量计算的教科书示例,Bob Harper和Umut Acar已经完成了大量工作.我相信他们有一个用标准ML编写的免费库.查看Umut关于自我调整计算的页面.