相关疑难解决方法(0)

如何在Haskell(GHC)中实现列表?

我只是好奇Haskell中列表的一些确切的实现细节(GHC特定的答案很好) - 他们是天真的链接列表,还是他们有任何特殊的优化?进一步来说:

  1. length(!!)(例如)必须遍历列表?
  2. 如果是这样,他们的值是否以任何方式缓存(即,如果我调用length两次,它是否必须迭代两次)?
  3. 访问列表后面是否涉及遍历整个列表?
  4. 是否记住了无限列表和列表推导?(即,for fib = 1:1:zipWith (+) fib (tail fib),是否会递归计算每个值,还是依赖于先前的计算值?)

任何其他有趣的实施细节将不胜感激.提前致谢!

haskell linked-list ghc

41
推荐指数
3
解决办法
8169
查看次数

标签 统计

ghc ×1

haskell ×1

linked-list ×1