2012-03-23 96 views
5

是否有将Data.Sequence(Seq a)转换为列表[a]的普遍接受的方法?将Data.Sequence转换为列表?

我看到有一个fromlist里,但没有toList

+6

我要教你如何钓鱼:如果你去[Hoogle](http: //www.haskell.org/hoogle/)并搜索['Seq a - > [a]'](http://www.haskell.org/hoogle/?hoogle=Seq+a+-%3E+%5Ba% 5D)(你想要的函数的类型签名),第一个命中是dbaupp提到的'toList'函数。 Hoogle并不总是能够找到你想要的,但它总是值得检查。 – dave4420 2012-03-23 07:56:53

回答

14

没有为Seq a一个Foldable实例,这提供了一个toList方法。例如这将打印[1,2,3,4,5,6,7,8,9,10]

import Data.Foldable (toList) 
import Data.Sequence (fromList) 

main = print . toList . fromList $ [1..10] 
+2

这个答案最重要的部分是:不要忽略实例列表!对于类型的完整API,它们通常非常重要。 – Carl 2012-03-23 17:55:58