【发布时间】:2014-03-30 22:50:02
【问题描述】:
有没有办法让 Haskell 在运行时扩展某些 thunk。例如,说我有
--Purposely inefficient code for demonstration
fib 0=0
fib 1=1
fib n=fib n=fib (n-1) + fib (n-2)
goldRatio=fib 100 / fib 101
我如何让它在编译时评估goldRatio。例如,与
{-# EVALUATE goldRatio #-}
它只需要弱头部形式,因为Control.Deepseq.force 可以处理其余的。我听说模板haskell可以做到这一点,但我不太了解。
注意:我目前正在使用 GHC。
【问题讨论】:
标签: haskell compilation evaluation thunk