0

我开始学习 Haskell,但我发现很难弄清楚教程跳过的小事。现在我正在使用 Vector.Fixed 形式的元组:

import qualified Data.Vector.Fixed as VF
import qualified Data.Vector.Fixed.Unboxed (Vec 2)
import qualified Data.Vector.Unboxed as VU

let a = VF.mk2 7 7 :: (Int, Int)
let b = VF.mk2 7 7 :: (Vec2 Int)
  1. a和 有什么区别b

  2. 如何使 VF 向量f等效于 [a, a] = [(7,7), (7,7)]

  3. 如何使 VU 向量g等效于[[a], [a,a]] = [[(7,7)], [(7,7), (7,7)]]

convert对于问题 2 和 3,我在尝试使用该功能时无法克服类型错误。

  1. 我知道我的元组总是长度为 2,但我需要一个f可以固定大小的元组列表(或其他),另一个g 是二维的(例如[[(1,2),(3,4)],[(1,2)]],顶部列表和子列表都不是固定大小。我应该坚持使用相同的类型fg

  2. Data.Vector.Fixed 和 Data.Vector.Unboxed 似乎都来自同一个包,但它们的维护者不同。可以这么说,它们都是官方的,还是除了它们都是矢量实现之外,它们没有任何相似之处吗?

4

0 回答 0