【发布时间】:2016-07-06 01:21:46
【问题描述】:
我想递归地生成一个未装箱的向量。举个简单的例子:
import qualified Data.Vector as V
fib :: V.Vector Int
fib = V.generate 10 f
where
f 0 = 0
f 1 = 1
f x = (fib V.! (x - 1)) + (fib V.! (x - 2))
函数正确生成斐波那契数列。但是,如果我改用Data.Vector.Unboxed,代码将挂起。我理解这是为什么,但我仍然希望能够进行递归定义并获得未装箱向量的速度。这样做有什么可能吗?
【问题讨论】: