10

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

4

1 回答 1

11

所有Traversable实例也是Foldable,所以你可以写类似

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

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

于 2015-04-25T01:27:25.433 回答