内容简介
第1章 Lua
第一天:开始历险
本周日程
Lua一览
安装Lua
交互式开发
初窥
Lua基础
表达式
函数
具名参数
控制流程
变量
离开REPL
第一天我们学了什么
轮到你了
第二天:深入了解Table
Table当作字典用
穿着数组外衣的字典
metatables
自制面向对象系统
协程
多任务
Lua的发明者RobertoIerusalimschy访谈
第二天我们学了什么
轮到你了
第三天:真实世界中的Lua
制作音乐
为历险做准备
创建项目
添加声效
从音符到歌曲
多声道
Canon in D
第三天我们学了什么
轮到你了
Lua小结
优势
劣势
最后的思考
第2章 Factor
第一天:栈,栈
安装Factor
使用监听器
开始入栈
Factor数学
数据类型
栈重排(StackShuffling)
带有组合器的高阶命令
第一天我们学到了什么
轮到你了
第二天:更进一步
定义命令
返回多个值
获取帮助
使用命令表
运行独立的程序
写单元测试
运行一组测试
Factor的创建者SlavaPestov的采访
第二天我们学到了什么
轮到你了
第三天:乘风破浪,搏击长空
元组
元组构造器
为购物车结账
把命令组装成流水管道
重新回顾FizzBuzz游戏
与生俱来以下功能
编辑器集成
演示
第三天我们学了什么
轮到你了
Factor小结
优势
劣势
最后的思考
第3章 Elm
第一天:掌握基础
安装Elm
简单表达式
条件语句
构造代数数据类型(Algebraic Data Type)
使用Records
使用函数
模式匹配(PatternMatching)
函数与类型
第一天我们学到了什么
轮到你了
第二天:驯服回调
克服回调地狱
用lift和信号来避免回调
组合信号
维持状态
处理文本输入
绘制形状
第二天我们学到了什么
轮到你了
第三天:一切都是游戏
定义骨架
定义模型
用信号和foldp来做循环
步进和展现游戏
步进(stepping)游戏
第三天我们学到了什么
轮到你了
E1m小结
优势
劣势
最后的思考
第4章 Elixir
第一天:夯实基础
安装Elixir
所以说…它是Ruby++,对吗
不,不是Ruby
编写函数
使用管道组织程序
使用模块
命名函数
do构造块
使用map
list
for推导
keyword List
函数语法糖
第一天我们学到了什么
轮到你了
第二天:控制变化
Mix
从具体到元
使用struct为字段命名
创建具体行为
为状态机建模
添加状态机行为
寻找模式
编写测试
使用宏实现should
编写更多的测试
编写一个复杂的宏
理解编译期流程
构造一个骨架
理解编译期流程,第2部分
使用状态机
第二天我们学到了什么
轮到你了
第三天:衍生和重生
衍生进程
构建一个OTP应用
在终端中使用OTP
可靠性监护
第三天我们学到了什么
轮到你了
Exlir小结
优势
劣势
最后的思考
第5章 Julia
第一天:无谓的反抗
安装Julia
内置类型
基本运算符
字典和集合
24世纪的数组
索引和切片
多维数组
第一天我们学到了什么
轮到你了
第二天:吸收
控制流
用户定义类型和函数
并发
采访Julia的创始人:JeffBezanson,Stefan Karpinski,Viral Shah,Alan Edelman
第二天我们学到了什么
轮到你了
第三天:打成一片
转换代码而不是数据
图像切片和切块
第三天我们学到了什么
轮到你了
Julia小结
优势
劣势
最后的思考
第6章 miniKanren
第一天:代码的一致性匹配
安装core.1 ogic
目标一定要成功
使用关系
用因子编程
平行宇宙
咒语的秘密
第一天我们学到了什么
轮到你了
第二天:混合逻辑与函数
模式,那里都是模式
用上散列图
另一种判定
对David Nolen的采访
第二天我们学到了什么
轮到你了
第三天:用逻辑来写故事
用有限域编程
神奇的故事
第三天我们学到了什么
轮到你了
MiniKanren小结
优势
劣势
最后的思考
第7章 Idris
第一天:基础
安装Idris
理解基础
原生类型和表达式
函数
定义数据类型
第一天我们学到了什么
轮到你了
第二天:开始使用依赖类型
理解依赖类型
派生依赖类型
闰年里的日期限定
第二天我们学到了什么
轮到你了
第三天:依赖类型实践
智能补全
证明完毕,亲爱的华生
交互式证明
下一步
证明为我们做了什么
现实世界
一段乱糟糟的C++代码
指称设计
回顾
改善
轮到你了
Idris小结
优势
劣势
最后的思考
第8章 总结
起源
中央高速公路
前沿
脏地图
最后的挑战