【发布时间】:2014-01-24 06:11:54
【问题描述】:
Haskell 是一门非常棒的语言。我喜欢它。但是作为一个C++程序员,对计算机架构有一些基础知识,我真的很想知道Haskell的实现细节。
我的意思是,例如,map 函数。我知道语法,结果。但是,我想知道这个函数是如何在 RAM 中真正起作用的。因为C族语言对语法和计算机行为的映射关系非常清楚。
那么有人对函数式编程语法背后的计算机行为有想法吗?或者任何关于这方面的书,比如“C++ 对象模型内部”?
【问题讨论】:
-
我几乎怀疑这是否属于理论计算机科学交流。不过我不确定;有人知道吗?
-
@jdevelop 非常感谢,你真的帮了我很多
-
无耻插件:您可以使用
ghc-heapview和ghc-vis包了解值的堆表示。 -
实际上,即使是 C 也不会告诉您很多有关硬件细节的信息,例如,在没有堆栈的情况下运行并将所有内容放在上面的实现是完全有效的(如果不常见的话)而是堆。毫不奇怪,Haskell 更避免将其规范固定到任何特定的硬件环境。所以说真的,只有将自己限制在给定的编译器和后端才能回答这个问题。
标签: haskell behavior language-implementation