Как преобразовать Haskell Traversable в вектор?
Если у меня есть Traversable
пример, xs
Как я могу преобразовать его в Vector
?
1 ответ
Все Traversable
экземпляры также Foldable
, так что вы можете написать что-то вроде
toVector :: Foldable t => t a -> Vector a
toVector = Vector.fromList . Foldable.toList
{-# INLINE toVector #-}
Это может составить промежуточный список, хотя, если это не слилось. Подкладка должна помочь сделать слияние более вероятным.