Haskell的加速库中是否存在具有此类类型签名的函数:Exp a -> a
?
例如,我有一个表达式:
max = maximum mat !! 0
其中mat :: Acc (Matrix Int)
那么,max的类型是Exp Int
,但我希望max表示为简单的haskell的Int
。
您首先需要将Exp
转换为Acc
,然后运行它,最后对生成的数组进行索引:
indexArray (run (unit max)) Z
也许直接使用最大数组更容易:
indexArray (run (maximum mat)) (0 :. Z)