如果我有一个
Traversable
的实例,xs,我该怎么把它转换成
Vector
?
解决方法
所有可遍历的实例也可折叠,因此您可以编写类似的东西
toVector :: Foldable t => t a -> Vector a toVector = Vector.fromList . Foldable.toList {-# INLINE toVector #-}
这可能是一个中间的列表,但如果没有融合.内联应该有助于融合更有可能.