为了缓存目的,我想创建一个数组,将函数的输入值映射到输出值。我知道我的函数只会在这个特定范围内使用,我考虑像这样做:
MyType = ... deriving (Ix)
myFunction :: MyType -> foo
myCache = createArrayFromFunction (start,end) myFunction
这是可能的,或者我只是认为“不可行”,还有其他解决方案。我需要数组,因为我需要O(1)访问成员并从开始就知道长度。
createArrayFromFunction
函数,以便您的代码能够正常工作。 - Reid Barton