会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
雪川大虫
Scala泛函编程实践之路
博客园
首页
新随笔
联系
管理
订阅
上一页
1
···
16
17
18
19
20
21
22
23
24
···
29
下一页
2016年7月26日
Scalaz(51)- scalaz-stream: 资源使用安全-Resource Safety
摘要: scalaz-stream是一个数据流处理工具库,对资源使用,包括:开启文件、连接网络、连接数据库等这些公共资源使用方面都必须确定使用过程的安全:要保证在作业终止时能进行事后处理程序(finalizer)来释放相关的文件、网络链接、数据库连接等。所谓作业终止包括正常的作业完成(End)、人工强行终止
阅读全文
posted @ 2016-07-26 13:47 雪川大虫
阅读(323)
评论(0)
推荐(0)
2016年7月25日
Scalaz(50)- scalaz-stream: 安全的无穷运算-running infinite stream freely
摘要: scalaz-stream支持无穷数据流(infinite stream),这本身是它强大的功能之一,试想有多少系统需要通过无穷运算才能得以实现。这是因为外界的输入是不可预料的,对于系统本身就是无穷的,比如键盘鼠标输入什么时候终止、网站上有多少网页、数据库中还有多少条记录等等。但对无穷数据流的运算又
阅读全文
posted @ 2016-07-25 13:29 雪川大虫
阅读(604)
评论(0)
推荐(1)
2016年7月21日
Scalaz(49)- scalaz-stream: 深入了解-Sink/Channel
摘要: 一个完整的scalaz-stream有以下几个部分组成:Source -> Transducer -> Sink,用直白文字来描述就是:“输入 -> 传换 -> 输出”。我们已经在前面几篇讨论中介绍了Source和Transducer的基本情况,这篇讨论我们探讨一下Sink。scalaz-strea
阅读全文
posted @ 2016-07-21 10:25 雪川大虫
阅读(913)
评论(0)
推荐(2)
2016年7月19日
Scalaz(48)- scalaz-stream: 深入了解-Transducer: Process1-tee-wye
摘要: 在上一篇讨论里我们介绍了Source,它的类型款式是这样的:Process[F[_],O]。Source是通过await函数来产生数据流。await函数款式如下: await函数的作用是:运算F从外界数据源获取数据A,如:从数据库读取记录、从网络读取网页或读取键盘鼠标输入等。获取数据A后输入函数rc
阅读全文
posted @ 2016-07-19 11:11 雪川大虫
阅读(545)
评论(0)
推荐(0)
2016年7月15日
Scalaz(47)- scalaz-stream: 深入了解-Source
摘要: scalaz-stream库的主要设计目标是实现函数式的I/O编程(functional I/O)。这样用户就能使用功能单一的基础I/O函数组合成为功能完整的I/O程序。还有一个目标就是保证资源的安全使用(resource safety):使用scalaz-stream编写的I/O程序能确保资源的安
阅读全文
posted @ 2016-07-15 17:39 雪川大虫
阅读(600)
评论(0)
推荐(0)
2016年7月7日
Scalaz(46)- scalaz-stream 基础介绍
摘要: scalaz-stream是一个泛函数据流配件库(functional stream combinator library),特别适用于函数式编程。scalar-stream是由一个以上各种状态的Process串联组成。stream代表一连串的元素,可能是自动产生或者由外部的源头输入,如:一连串鼠标
阅读全文
posted @ 2016-07-07 17:48 雪川大虫
阅读(789)
评论(0)
推荐(0)
2016年6月16日
Scalaz(45)- concurrency :Task-函数式多线程编程核心配件
摘要: 我们在上一节讨论了scalaz Future,我们说它是一个不完善的类型,最起码没有完整的异常处理机制,只能用在构建类库之类的内部环境。如果scalaz在Future类定义中增加异常处理工具的话,用户就会经常遇到Future[Throwable\/A]这样的类型,那么在进行Monadic编程时就必须
阅读全文
posted @ 2016-06-16 10:44 雪川大虫
阅读(951)
评论(0)
推荐(1)
2016年6月15日
Scalaz(44)- concurrency :scalaz Future,尚不完整的多线程类型
摘要: scala已经配备了自身的Future类。我们先举个例子来了解scala Future的具体操作: 这是一个标准的异步运算;在成功完成运算事件上绑定callback来获取在其它线程中的运算结果。我们也可以进行异常处理: 又或者同时绑定运算成功和失败事件的callback函数: scala Futur
阅读全文
posted @ 2016-06-15 11:36 雪川大虫
阅读(556)
评论(0)
推荐(0)
2016年6月4日
Scalaz(43)- 总结 :FP就是实用的编程模式
摘要: 完成了对Free Monad这部分内容的学习了解后,心头豁然开朗,存在心里对FP的疑虑也一扫而光。之前也抱着跟大多数人一样的主观概念,认为FP只适合学术性探讨、缺乏实际应用、运行效率低,很难发展成现实的软件开发模式。Free Monad的出现恰恰解决我心中的疑问,更正了我对FP的偏见:Free Mo
阅读全文
posted @ 2016-06-04 13:31 雪川大虫
阅读(1481)
评论(0)
推荐(0)
2016年6月2日
Scalaz(42)- Free :FreeAp-Applicative Style Programming Language
摘要: 我们在前面花了几期时间讨论Free Monad,那是因为FP既是Monadic programming,Free Monad是FP模式编程的主要方式。对我们来说,Free Monad代表着fp从学术探讨到实际应用的转变,因为我们已经示范了如何用Free Monad的算式算法关注分离模式来实现真正的软
阅读全文
posted @ 2016-06-02 16:24 雪川大虫
阅读(568)
评论(0)
推荐(0)
上一页
1
···
16
17
18
19
20
21
22
23
24
···
29
下一页
公告