展开全部

主编推荐语

函数式编程入门:易测试复用、支持并发、Scala实现

内容简介

函数式编程(FP)是一种软件开发风格,它注重不依赖于编程状态的函数。函数式代码易于测试和复用,容易实现并发,且不容易受到bug的攻击。Scala是一种能很好支持函数式编程的新兴JVM语言。本书是针对希望学习FP并将它应用于日常编码中的程序员而写的,内容包括:函数式编程的概念;函数式编程相关的各种“为什么”和“怎么做”;如何编写多核程序;练习和检测。

目录

  • 版权信息
  • 内容简介
  • 推荐序1
  • 参考资料
  • 推荐序2
  • 译序
  • 原推荐序
  • 序言
  • 致谢
  • 关于本书
  • 这本书的结构
  • 受众人群
  • 如何阅读这本书
  • 代码规范和下载
  • 设定预期
  • 第一部分 函数式编程介绍
  • 1 什么是函数式编程
  • 1.1 函数式编程的好处:一个简单的例子
  • 1.2 (纯)函数究竟是什么
  • 1.3 引用透明、纯粹度以及替代模型
  • 1.4 小结
  • 2 在Scala中使用函数式编程
  • 2.1 Scala语言介绍:一个例子
  • 2.2 运行程序
  • 2.3 模块、对象和命名空间
  • 2.4 高阶函数:把函数传给函数
  • 2.5 多态函数:基于类型的抽象
  • 2.6 通过类型来实现多态
  • 2.7 小结
  • 3 函数式数据结构
  • 3.1 定义函数式数据结构
  • 3.2 模式匹配
  • 3.3 函数式数据结构中的数据共享
  • 3.4 基于list的递归并泛化为高阶函数
  • 3.5 树
  • 3.6 小结
  • 4 不是用异常来处理错误
  • 4.1 异常的优点与劣势
  • 4.2 异常的其他选择
  • 4.3 Option数据类型
  • 4.4 Either数据类型
  • 4.5 小结
  • 5 严格求值和惰性求值
  • 5.1 严格和非严格函数
  • 5.2 一个扩展例子:惰性列表
  • 5.3 把函数的描述与求值分离
  • 5.4 无限流与共递归
  • 5.5 小结
  • 6 纯函数式状态
  • 6.1 以副作用方式生成随机数
  • 6.2 纯函数式随机数生成器
  • 6.3 用纯函数式实现带状态的API
  • 6.4 状态行为的更好的API
  • 6.5 更通用的状态行为数据类型
  • 6.6 纯函数式命令编程
  • 6.7 小结
  • 第二部分 功能设计和组合子库
  • 7 纯函数式的并行计算
  • 7.1 选择数据类型和函数
  • 7.2 确定表现形式
  • 7.3 完善API
  • 7.4 API与代数
  • 7.5 完善组合子为更通用的形式
  • 7.6 小结
  • 8 基于性质的测试
  • 8.1 基于性质测试概览
  • 8.2 选择数据类型和函数
  • 8.3 最小化测试用例
  • 8.4 使用库并改进其易用性
  • 8.5 测试高阶函数及展望未来
  • 8.6 生成器法则
  • 8.7 小结
  • 9 语法分析器组合子
  • 9.1 代数设计,走起
  • 9.2 一种可能的代数
  • 9.3 处理上下文的相关性
  • 9.4 写一个JSON分析器
  • 9.5 错误提示
  • 9.6 实现代数
  • 9.7 小结
  • 第三部分 函数设计的通用结构
  • 10 Monoid
  • 10.1 什么是monoid
  • 10.2 使用monoid折叠列表
  • 10.3 结合律和并行化
  • 10.4 例子:并行解析
  • 10.5 可折叠数据结构
  • 10.6 组合monoid
  • 10.7 小结
  • 11 Monad
  • 11.1 函子:对map函数的泛化
  • 11.2 Monad:对flatMap和unit函数的泛化
  • 11.3 Monadic组合子
  • 11.4 单子定律
  • 11.5 什么是monad
  • 11.6 小结
  • 12 可应用和可遍历函子
  • 12.1 泛化单子
  • 12.2 Applicative trait
  • 12.3 单子与可应用函子的区别
  • 12.4 可应用函子的优势
  • 12.5 可应用法则
  • 12.6 可遍历函子
  • 12.7 使用Traverse
  • 12.8 小结
  • 第四部分 作用与I/O
  • 13 外部作用和I/O
  • 13.1 分解作用
  • 13.2 一个简单的IO类型
  • 13.3 避免栈溢出
  • 13.4 一个更微妙的IO类型
  • 13.5 非阻塞和异步I/O
  • 13.6 一个通用的IO类型
  • 13.7 为什么IO类型不足以支撑流式I/O
  • 13.8 小结
  • 14 本地影响和可变状态
  • 14.1 纯函数式的可变状态
  • 14.2 一种限制副作用范围的数据类型
  • 14.3 纯粹是相对于上下文的
  • 14.4 小结
  • 15 流式处理与增量I/O
  • 15.1 命令式I/O的问题示例
  • 15.2 一个简单的流转换器
  • 15.3 可扩展的处理类型
  • 15.4 应用场景
  • 15.5 小结
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

电子工业出版社

电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。