安装 conduit

$ cabal install conduit
Installed conduit-1.3.0.3
Prelude> import Conduit
Prelude Conduit> 

Conduit

Conduit 是一个处理流的库。

Prelude Conduit> :{
Prelude Conduit|   print $ runConduitPure$ yieldMany [1..10].| mapC (+ 1).| sinkList
Prelude Conduit| :}
[2,3,4,5,6,7,8,9,10,11]

应用实例

{-# LANGUAGE ExtendedDefaultRules #-}
import Conduitmagic :: Int -> IO Int
magic x = doputStrLn $ "I'm doing magic with " ++ show xreturn $ x * 2main :: IO ()
main = doputStrLn "List version:"mapM magic (take 10 [1..]) >>= mapM_ print . takeWhile (< 18)putStrLn ""putStrLn "Conduit version:"runConduit$ yieldMany [1..].| takeC 10.| mapMC magic.| takeWhileC (< 18).| mapM_C print
List version:
I'm doing magic with 1
I'm doing magic with 2
I'm doing magic with 3
I'm doing magic with 4
I'm doing magic with 5
I'm doing magic with 6
I'm doing magic with 7
I'm doing magic with 8
I'm doing magic with 9
I'm doing magic with 10
2
4
6
8
10
12
14
16Conduit version:
I'm doing magic with 1
2
I'm doing magic with 2
4
I'm doing magic with 3
6
I'm doing magic with 4
8
I'm doing magic with 5
10
I'm doing magic with 6
12
I'm doing magic with 7
14
I'm doing magic with 8
16
I'm doing magic with 9

Haskell语言学习笔记(75)Conduit相关推荐

  1. Haskell语言学习笔记(30)MonadCont, Cont, ContT

    MonadCont 类型类 class Monad m => MonadCont m wherecallCC :: ((a -> m b) -> m a) -> m a ins ...

  2. Haskell语言学习笔记(41)Parsec(1)

    Parsec Parsec是一个词法及语法分析器. 匹配字符与字符串 Prelude Text.Parsec> parseTest anyChar "a" 'a' Prelu ...

  3. Haskell语言学习笔记(73)Existentials

    Existentials(存在类型) Existentially quantified types(Existentially types,Existentials)是一种将一组类型归为一个类型的方式 ...

  4. C语言如何加缓冲,C语言学习笔记之输出缓冲

    在c语言中经常用到输出函数printf,当我们像往常一样在输出函数中输入我们的想要的输出的东西后加\n换行 验证结果如我们输出的一样 如果我们在后面加入死循环会不会出现这些语句呢 结果卡死了,可还是输 ...

  5. R语言学习笔记(1~3)

    R语言学习笔记(1~3) 一.R语言介绍 x <- rnorm(5) 创建了一个名为x的向量对象,它包含5个来自标准正态分布的随机偏差. 1.1 注释 由符号#开头. #函数c()以向量的形式输 ...

  6. R语言学习笔记 07 Probit、Logistic回归

    R语言学习笔记 文章目录 R语言学习笔记 probit回归 factor()和as.factor() relevel() 案例11.4复刻 glm函数 整理变量 回归:Logistic和Probit- ...

  7. R语言学习笔记——高级篇:第十四章-主成分分析和因子分析

    R语言 R语言学习笔记--高级篇:第十四章-主成分分析和因子分析 文章目录 R语言 前言 一.R中的主成分和因子分析 二.主成分分析 2.1.判断主成分的个数 2.2.提取主成分 2.3.主成分旋转 ...

  8. C语言学习笔记Day3——持续更新中... ...

    上一篇文章C语言学习笔记Day2--持续更新中- - 八. 容器 1. 一维数组 1.1 什么是一维数组 当数组中每个元素都只带有一个下标(第一个元素的下标为0, 第二个元素的下标为1, 以此类推)时 ...

  9. 梓益C语言学习笔记之链表&动态内存&文件

    梓益C语言学习笔记之链表&动态内存&文件 一.定义: 链表是一种物理存储上非连续,通过指针链接次序,实现的一种线性存储结构. 二.特点: 链表由一系列节点(链表中每一个元素称为节点)组 ...

  10. 6.方法(go语言学习笔记)

    6.方法(go语言学习笔记) 目录 定义 匿名字段 方法集 表达式 1. 定义 方法是与对象实例绑定的特殊函数. 方法是面向对象编程的基本概念,用于维护和展示对象的自身状态.对象是内敛的,每个实例对象 ...

最新文章

  1. vue 搭建脚手架 的教程
  2. C#二维和多维数组编程实例
  3. [Swift算法]巴比伦法(牛顿迭代法)求平方根
  4. php + mssql乱码
  5. HAProxy介绍及配置文件详解
  6. Aspose.Words操作Word.PDF,让图片和文本垂直居中,水平居中解决方案
  7. Winodws 10中pyCharm 2017安装
  8. git快速入门之一:创建本地仓库并同步到远程
  9. Prim POJ 2031 Building a Space Station
  10. 2022-2028全球赛车模拟器游戏方向盘行业调研及趋势分析报告
  11. python网格搜索、贝叶斯调参实战
  12. H.264 AVC 编解码标准
  13. adobe怎么统计字数,在Adobe Reader中统计PDF中的文字数
  14. html5学生大作业,帮同学做的大一大作业:《我的家乡—郑州》 - 梦涵的帅爸爸...
  15. 都有云技术了,传统动态vps还有什么用?
  16. oeasy和你玩转微信公众号-刘青-专题视频课程
  17. numpy.loadtxt() 处理csv文件的正确姿势
  18. 冯诺依曼结构图-2020-09-05
  19. 数据结构——图的数组(邻接矩阵)表示法
  20. 在 Power BI 中筛选每类产品的前三名

热门文章

  1. 新闻——覃雄派、王会举、杜小勇、王珊论文两次入选“领跑者5000—中国精品科技期刊顶尖学术论文”
  2. 再观《一步之遥》观后感
  3. 内核抢占PREEMPT_RT
  4. 使用 requireJS 的shim参数 解决插件jequery 插件问题
  5. win10新建文本改html乱码,win10专业版文字乱码该怎么办?解决方法是什么?
  6. 计算机软考高级 天津落户,官宣:软考高级可作为高级职称人才引进落户上海...
  7. 加扣扣群所有脚本免费使用
  8. Android两种方式实现横向滚动图标+指示器
  9. 什么句子可以暗示自己恋爱了?
  10. 给UI/UX设计师推荐5个国外网站