我正在抓取一些网站的源代码并Category
从中收集类型的项目:
catsSource :: Source IO Category
下一步是编写公司收集器(项目类型Company
)。公司收集器需求类别:对于每个Category
输入,应该生成几个公司,一个接一个。换句话说,它应该“屈服” Company
,而不是[Company]
。这个任务我需要什么?导管还是棘手的来源?如果是来源,它应该如何从中获取类别catsSource
?如果管道被发现时它应该如何通过(“屈服”)公司前进?
在这里清除我的问题是一种尝试(不通过类型检查):
import qualified Data.Conduit.List as CL
companiesFromCategory cat = [Company "foo", Company "bar"]
companies :: Conduit Category IO Company
companies = CL.fold . (CL.map companiesFromCategory)