管道:从其他来源制作来源

时间:2014-04-16 07:22:28

标签: haskell conduit

我正在浏览某些网站,并从中收集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)

1 个答案:

答案 0 :(得分:3)

解决方案是使用concatMap

companies = CL.concatMap companiesFromCategory