如何将Haskell Traversable转换为Vector?

时间:2015-04-25 01:20:54

标签: haskell vector traversable

如果我有Traversable个实例xs,我该如何将其转换为Vector

1 个答案:

答案 0 :(得分:11)

所有Traversable个实例也是Foldable,因此您可以编写类似

的内容
toVector :: Foldable t => t a -> Vector a
toVector = Vector.fromList . Foldable.toList
{-# INLINE toVector #-}

这可能会成为一个中间列表,如果它没有被融合掉。内联应该有助于使融合更有可能。