在haskell中创建csv文件

在haskell中创建csv文件,csv,haskell,Csv,Haskell,我怀疑这是一个有点棘手的问题 因此,我有一个列表myList,我想使用cassava库将其写入csv文件: import qualified Data.ByteString.Lazy as BL import qualified Data.Vector as V import Data.Csv main = BL.writeFile "myFileLocation" (encode $ V.fromList myList) 据我所知,encode有typeToRecord a=>Vector

我怀疑这是一个有点棘手的问题

因此,我有一个列表
myList
,我想使用cassava库将其写入csv文件:

import qualified Data.ByteString.Lazy as BL
import qualified Data.Vector as V
import Data.Csv

main = BL.writeFile "myFileLocation" (encode $ V.fromList myList)
据我所知,encode有type
ToRecord a=>Vector a->ByteString
,但我得到了以下错误:

Couldn't match expected type `[a0]'
                with actual type `V.Vector (a,b,c,d)'
    In the return type of a call of `V.fromList'
    In the second argument of `($)', namely `V.fromList myList'
    In the second argument of `BL.writeFile', namely
      `(encode $ V.fromList myList)'

我糊涂了

mylist
的类型是什么?还有类型
ToRecord a=>[a]->ByteString
,而不是
Vector a->ByteString
。你在看什么版本的木薯?他们从
Vector
s切换到0.3版的列表,这是最新版本。感谢您发现错误的类型签名,我已经更新了主要问题。myList是我的问题域中的一个元组:
myList:[(Int,Int,Float)]
正如我的第二条评论所指出的,您看到的文档版本是错误的。您根本不需要使用
Data.Vector
,只需使用
encode myList
而不是
encode$V.fromList myList