关于GHC实施的良好介绍文字?
|
当在Haskell中进行编程时(尤其是在解决Project Euler问题时,次优解决方案往往会导致CPU或内存需求紧张),我常常感到困惑,为什么程序会按原样运行。我查看配置文件,尝试引入一些严格性,选择了另一个数据结构,但是主要是因为我缺乏良好的直觉,所以它在黑暗中摸索着。
另外,虽然我知道Lisp,Prolog和命令式语言通常是如何实现的,但我不知道实现惰性语言。我也很好奇。
因此,我想更多地了解从程序源到执行模型的整个链。
我想知道的事情:
应用了哪些典型的优化?
当有多个候选评估对象时,执行顺序是什么(虽然我知道它是由所需的输出驱动的,但首先评估A和B之间,或者先评估B以检测到您没有这样做,仍然可能会有很大的性能差异) (根本不需要A)
笨蛋如何代表?
堆栈和堆如何使用?
什么是CAF? (分析表明有时热点在那儿,但我没有头绪)
没有找到相关结果
已邀请:
2 个回复
骚瓤
扑北爱