是否曾经通过主流功能语言的库尝试通过动词,副词,fork等对J风格的 super 压缩默认编程进行仿真?
如果是这样,结果如何成功?
如果不是,是否有技术上的问题使之无法实现,还是不值得这样做?
我对诸如fork之类的构造特别感兴趣,这些构造似乎并不直接与函数式编程中的基本概念相对应。
最佳答案
Camccann的讨论非常好。但是请注意,此样式现在导致两次遍历。
您可以编写一个合并遍历的组合器库。看这里:
http://squing.blogspot.com/2008/11/beautiful-folding.html
帖子提供了以下示例来编写均值:
meanF :: Fractional a => Fold a a
meanF = bothWith (/) sumF (after lengthF fromIntegral)
mean :: Fractional a => [a] -> a
mean = cfoldl' meanF
而且,Conal Eliott的后续帖子进一步概括了这一点:
http://conal.net/blog/posts/enhancing-a-zip/
他将代码从自己的帖子中提取到可用于黑客攻击的库中:
http://hackage.haskell.org/package/ZipFold
关于haskell - 是否通过主流功能语言的库模拟了J风格的副词,fork等?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3398861/