go
-
Scalaz(47)- scalaz-stream: 深入了解-Source详解编程语言
scalaz-stream库的主要设计目标是实现函数式的I/O编程(functional I/O)。这样用户就能使用功能单一的基础I/O函数组合成为功能完…
-
Scalaz(48)- scalaz-stream: 深入了解-Transducer: Process1-tee-wye详解编程语言
在上一篇讨论里我们介绍了Source,它的类型款式是这样的:Process[F[_],O]。Source是通过await函数来产生数据流。await函数款…
-
Scalaz(50)- scalaz-stream: 安全的无穷运算-running infinite stream freely详解编程语言
scalaz-stream支持无穷数据流(infinite stream),这本身是它强大的功能之一,试想有多少系统需要通过无穷运算才能得以实现。这是因为…
-
Scalaz(53)- scalaz-stream: 程序运算器-application scenario详解编程语言
从上面多篇的讨论中我们了解到scalaz-stream代表一串连续无穷的数据或者程序。对这个数据流的处理过程就是一个状态机器(state machine…
-
Scalaz(55)- scalaz-stream: fs2-基础介绍,fs2 stream transformation详解编程语言
fs2是scalaz-stream的最新版本,沿用了scalaz-stream被动式(pull model)数据流原理但采用了全新的实现方法。fs2比较…
-
Scalaz(56)- scalaz-stream: fs2-安全运算,fs2 resource safety详解编程语言
fs2在处理异常及资源使用安全方面也有比较大的改善。fs2 Stream可以有几种方式自行引发异常:直接以函数式方式用fail来引发异常、在纯代码里隐式…
-
Scala Macros - 元编程 Metaprogramming with Def Macros详解编程语言
Scala Macros对scala函数库编程人员来说是一项不可或缺的编程工具,可以通过它来解决一些用普通编程或者类层次编程(type level pr…
-
FunDA(3)- 流动数据行操作:FDAPipeLine operations using scalaz-stream-fs2详解编程语言
在上节讨论里我们介绍了数据行流式操作的设想,主要目的是把后台数据库的数据载入前端内存再拆分为强类型的数据行,这样我们可以对每行数据进行使用和处理。形象点描述就是对内存里的一个数据流…
-
FunDA(4)- 数据流内容控制:Stream data element control详解编程语言
上节我们探讨了通过scalaz-stream-fs2来驱动一套数据处理流程,用fs2的Pipe类型来实现对数据流的逐行操作。本篇讨论准备在上节讨论的基础…
-
FunDA(8)- Static Source:保证资源使用安全 – Resource Safety详解编程语言
我们在前面用了许多章节来讨论如何把数据从后台数据库中搬到内存,然后进行逐行操作运算。我们选定的解决方案是把后台数据转换成内存中的数据流。无论在打开数据库表…