𝔖 Scriptorium
✦   LIBER   ✦

📁

Haskell函数式编程入门(第2版)第2卷

✍ Scribed by 张淞 刘长生


Year
2018
Tongue
Chinese
Leaves
458
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


书签已装载,
书签制作方法请找 [email protected]
完全免费

支持千人!

✦ Table of Contents


IV 进阶篇
15 惰性求值简介
15.1 演算简介
15.2 Bottom
15.3 表达式形态和thunk
15.3.1 弱首范式与范式
15.4 thunk与严格求值
15.5 求值策略
15.5.1 传值调用
15.5.2 传名调用
15.5.3 常序求值
15.6 惰性求值
15.7 严格模式匹配与惰性模式匹配
15.8 默认严格求值的扩展
16 深入Haskell的类型系统
16.1 值、类型、类型类、Kind
16.2 Haskell的类型推断
16.3 高秩类型
16.3.1 函数的元与阶
16.3.2 类型的秩
16.3.3 ST monad
16.4 Kind多态
16.5 可类型化
16.5.1 Typeable的大致实现
16.5.2 代理类型
16.5.3 GHC中可类型化类型类的实现
16.5.4 动态类型
16.5.5 不安全的强制类型转换
16.6 一阶多态类型的可类型化

16.6.1 无重载类型的可类型化
16.6.2 GHC中类型类的大致实现
16.6.3 重载类型的可类型化
16.7 单一同态限定
16.8 类型家族
16.8.1 类型的函数依赖与关联类型
16.8.2 类型上的自然数计算
16.8.3 简易的依赖类型
16.8.4 GHC访问器函数重载的大致实现
16.8.5 GHC中的访问器函数的重载
16.8.6 单射的类型家族
16.9 有重叠的类型类实例的实现
16.9.1 Haskell的Show类型类
16.9.2 多参数类型类的实例的重合
16.9.3 类型的等价类划分
16.10 安全的类型转换
16.10.1 安全的类型转换与类型角色
16.10.2 coerce的使用
16.11 GHC的原始类型与函数

16.11.1 ghc-prim库
16.11.2 运行时类型表示的多态
17 通用编程
17.1 代数数据类型通用编程
17.1.1 类型类自动导出的简易实现
17.1.2 GHC中代数数据类型通用编程的实现
17.1.3 实现通用的Show类
17.1.4 NFData的实现
17.1.5 通用编程的应用
17.1.6 生成Generic类型类实例可能遇到的问题
17.2 摒弃样板代码
17.2.1 纯函数变换
17.2.2 信息查询
17.2.3 Monad变换
17.2.4 复合多种类型的变换与查询
17.2.5 gfold

17.2.6 反射
18 模板元编程
18.1 元编程的用途
18.1.1 Haskell中元编程基本用法
18.1.2 使用元编程
18.1.3 类型构造器参数数量类型类实例的实现
18.1.4 zipN函数
18.1.5 元编程代码展开的限定
18.1.6 自上而下的类型类实例导出
18.1.7 aeson库中的元编程
18.2 准引用的应用
18.2.1 字面原生字符串
18.2.2 可应用函子的do表达式
18.2.3 定义引用子
18.2.4 值提供器
18.2.5 类型提供器
19 宏
19.1 简单的文本替换
19.2 GHC为条件编译提供的宏
19.3 Cabal提供的宏
V 工程篇
20 测试与类型驱动开发
20.1 正确性测试
20.1.1 单元测试
20.1.2 快速随机测试
20.1.3 穷举测试
20.1.4 断言
20.1.5 完全性模式匹配检查
20.2 错误分析
20.2.1 Debug.Trace模块简介
20.2.2 Haskell的函数调用栈
20.3 性能分析
20.4 类型驱动编程
20.4.1 类型签名丢失报警
20.4.2 有类型的空白
20.4.3 部分类型推断
21 并行、并发、异步以及分布式计算
21.1 确定性的并发
21.2 软件事务内存
21.2.1 软件事务内存简介
21.2.2 软件事务内存的使用
21.2.3 哲学家就餐问题
21.2.4 圣诞老人问题
21.3 异步并发库简介
21.4 Cloud Haskell 分布式编程
21.4.1 体系结构
21.4.2 并发模型
21.4.3 案列开发:Ping-Pong
21.4.4 进程层接口
21.4.5 上层组件
22 Haskell开发工具简介
22.1 Cabal
22.1.1 什么是Cabal?
22.1.2 Stackage与stack
22.2 ghc-pkg
22.3 hlint与hoogle
22.4 .ghci的配置
22.5 提高Haskell程序性能的一些建议
22.5.1 用专有的库来完成工作
22.5.2 编译器注示(pragma)
22.5.3 SPECIALIZE
22.5.4 RULE
VI 理论篇
23 Arrow简介
23.1 Arrow类型类的定义
23.2 (->)与信号函数实现Arrow类型类
23.2.1 (->)实现Arrow
23.2.2 信号函数实现Arrow类型类
23.3 ArrowApply类型类
23.4 ArrowChoice类型类
23.5 ArrowLoop与ArrowCircuit类型类
23.6 处理时序电路信号
23.7 ArrowZero与ArrowPlus类型类
24 函数反应式编程简介
24.1 传统的函数反应式编程
24.2 一元函数反应式编程
24.3 Yampa
25 Haskell与范畴论
25.1 范畴论基本概念
25.1.1 范畴的定义
25.1.2 范畴的举例
25.1.3 Haskell中的范畴
25.1.4 态射的性质
25.1.5 初始对象与终极对象
25.2 函子与自然变换
25.2.1 函子
25.2.2 自然变换
25.2.3 类型类限定范畴
25.2.4 类型相等范畴
25.2.5 Hom函子间的自然变换与米田引理
25.2.6 自函子与自函子范畴
25.3 单子
25.3.1 单位半群和单子
25.3.2 Kleisli范畴与单子
25.4 Arrow跟Applicative和Monad的关系
25.4.1 Arrow与Applicative的关系
25.4.2 Arrow与Monad的关系
25.5 单子间的态射
25.5.1 初始对象与终极对象
25.5.2 单子范畴的态射
25.6 范畴的代数结构
25.6.1 范畴上的积与和
25.6.2 范畴上的极限和余极限
25.7 伴随函子
25.7.1 伴随函子
25.7.2 柯里化和反柯里化的伴随
25.7.3 积与和的伴随
25.7.4 极限和余极限的伴随
25.7.5 从伴随函子中得到单子
25.8 F-代数和F-余代数
25.8.1 F-代数
25.8.2 F-余代数
25.9 自由结构
25.9.1 自由结构的定义
25.9.2 自由幺半群
25.9.3 自由单子
25.9.4 自由可应用函子
25.9.5 自由的意义
25.10 范畴上的幺半群
25.10.1 幺半范畴
25.10.2 幺半范畴上的幺半群
25.10.3 单子是自函子范畴上的幺半群
25.10.4 可应用函子是自函子范畴上的幺半群
25.10.5 幺半函子(Monoidal Functor)
25.10.6 闭函子(Closed Functor)
25.10.7 Arrow是Profunctor范畴上的幺半群
附录
参考文献


📜 SIMILAR VOLUMES


Haskell函数式编程入门
✍ 张淞 📂 Library 📅 2014 🏛 人民邮电出版社 🌐 Chinese

书签已装载, 书签制作方法请找 [email protected] 完全免费 《haskell函数式编程入门》是一本讲解haskell这门经过精心设计和锤炼的纯函数式编程语言的书,同时也是一本通过haskell来讲解函数式编程的方法与思想的书。全书共分三个部分。第一部分介绍函数式编程在解决数学与算法问题的精简与直观的特色,让不熟悉haskell的读者对其建立初步的了解,同时通过解决一些算法问题,如裴波那契数列、八皇后问题、排序问题、24点等,引发一些对函数式编程方式的思考;第二部分介绍一些略微深入的haskell内容,包括函子、monoid、io与monad转换器等

Haskell函数式编程基础
✍ 汤普森 (Simon Thompson) 📂 Library 📅 2015 🏛 科学出版社 🌐 Chinese

<p>《Haskell函数式编程基础(原书第3版)》可作为计算机科学和其他相关学科的高年级本科生、研究生的教材,也可供对函数式程序设计感兴趣的程序员、软件工程师等参考学习。</p>

Haskell函数式编程基础
✍ 汤普森 (Simon Thompson) 📂 Library 📅 2015 🏛 科学出版社 🌐 Chinese

书签已装载, 书签制作方法请找 [email protected] 完全免费 《Haskell函数式编程基础(原书第3版)》可作为计算机科学和其他相关学科的高年级本科生、研究生的教材,也可供对函数式程序设计感兴趣的程序员、软件工程师等参考学习。

函数式编程入门:使用Elixir
✍ Ulisses Almeida 杜万[译] 📂 Library 📅 2020 🏛 华中科技大学出版社 🌐 Chinese

函数式编程具有代码简洁、开发速度快、易理解、易维护、扩展性强的特点,在某些领域可以解决让命令式编程头痛的问题,具有广泛的应用场景和良好的发展前景。本书是函数式编程的零基础教程,以Elixir为例讲解函数式编程与命令式编程的区别,帮助读者掌握函数式编程的基本概念和思想(如不可变值、显式数据转换、模式匹配、递归函数、高阶函数、多态等),并避免新手常犯的错误。本书尤其适合对Elixir感兴趣且无函数式编程基础的读者入门学习。

易语言中文编程·从入门到精通(第2版)
✍ 大连易翔软件开发有限公司 📂 Library 📅 2017 🏛 海洋出版社 🌐 Chinese

本书介绍了全中文、全可视、全编译、跨平台的编程语言——“易语言”。该程序实现了真正的中文编程,彻底摆脱英文的语言模式,符合中国人的习惯。“易语言”功能强大,资源丰富,是广大编程爱好者的最理想的选择。书中全面、详细介绍了易语言的使用方法,内容详实、通俗易懂、结构清晰、循序渐进、图文并茂,配有大量示例。