通过学习Haskell For Great Good,在关于高阶函数的一章中,作者介绍了几个不同的库函数的实现。在谈到filter' (标准库函数filter的重新实现)的定义时,我认为显而易见的事情是:但作者给出了以下更长的递归定义:
filter递归定义在某种程度上更具有表现力吗?对Haskell来说,这更像是习语吗?还有别的吗?
令人感兴趣的问题是增强以下Haskell程序,递归深度为1亿,000,000,000,000,000,000,000,000,000,000,000,000,000递归深度,使其更快:
s :: Int32Haskell标准库中随机数的实现是否较慢?还是应该使用与randomRIO不同的函数?还是与懒惰的评估有关?你能在Haskell程序中优化任何东西并使其更快吗?很明显,像Haskell和C这样的高级语言之间可能存在性能上的差异,但我并不认为它会慢7