【发布时间】:2009-04-27 03:22:28
【问题描述】:
GHC 会默认对以下函数进行尾调用优化吗?唯一奇怪的是它递归地定义了一个 IO 动作,但我不明白为什么这不能是 TCO。
import Control.Concurrent.MVar
consume :: MVar a -> [a] -> IO ()
consume _ [] = return ()
consume store (x:xs) = do putMVar store x
consume store xs
【问题讨论】:
标签: haskell io tail-recursion