上一个
顶部
下一步
目录
一、引言
1组合编程
2 Combinator库替换工具
3声明性编程和输入/输出
功能语言中的4 I/O?
5什么是福吉特?
6论文贡献
7道路地图
II用控件编程
8哈斯克尔简介
9您的前8个Fudget程序
9.1“你好,世界!”
9.2阶乘函数
9.3阶乘函数,改进布局
9.4递增计数器
9.5递增/递减计数器
9.6向上/向下/重置计数器
9.7可加载上升/下降计数器
9.8一个简单的计算器
10个Fudget库GUI元素
10.1程序顶层使用的功能
10.2显示值
10.3按钮
10.4菜单和滚动列表
10.5输入值
10.5.1关于用户输入的更详细信息
10.6显示和编辑文本
10.7滚动条
11指定布局
11.1盒子、放置器和垫片
11.2名称布局
11.3不同布局方法的优缺点。
12个抽象的软糖
13福吉特管道
13.1系列组成
13.2平行构图
13.3回路
13.4动态篡改创建
14个用于非GUI I/O的插件
14.1标准I/O软糖
14.2访问文件系统
14.3计时器篡改
15自定义参数
15.1定制
15.2样品定制
三、流处理器——Fudgets的本质
16个流处理器
16.1流处理器类型
16.2延续风格的原子流处理器
16.3封装状态的流处理器
16.4流处理器的顺序组成
16.5流处理器单体
17管道:组成流处理器
17.1系列组成
17.2平行成分
17.3环形连接
18管道的实用方面
18.1处理多个输入和输出流
18.2流处理器和软件重用
18.3动态流程创建
19使用普通流处理器进行应用程序编程
19.1加法器
19.2用于输入行编辑的流处理器
19.3在分屏上并行运行两个程序
四、设计与实施
20实施流处理器
20.1流处理器的设计目标
20.2直觉想法——问题是什么?
20.3并行实现
20.3.1甲骨文
20.4顺序实施
20.4.1合成甲骨文
20.4.2基于连续性的表示
20.5连续函数与列表函数
21个作为流处理器的触发器
21.1同步流I/O
21.2标记的低层流
21.3编写同步原子软糖
21.4软糖核
21.5使用单子I/O的替代实现
22 Fudget I/O:血腥的细节
22.1 GUI控件
22.1.1 X Windows界面的数据类型
22.1.2
组F
:基本窗口创建控件
22.2同步与异步I/O
22.2.1异步I/O的插件
22.2.2异步
即兴演奏
22.3与Xlib的接口
22.3.1独立于编译器的接口
22.3.2 HBC接口
22.3.3 NHC接口
22.3.3.1支持两次堆分析
22.3.4 GHC接口
23自动布局
23.1 fudget布局的历史步骤
24过滤器软糖
24.1缓存过滤器
24.1.1实施
24.2焦点过滤器
24.2.1实施
24.3过滤器的优缺点
25移动流处理器
25.1在X windows中拖动窗口的问题
26个客户端/服务器应用程序的类型插座
26.1客户
26.2服务器
26.3类型插座
26.4避免客户端和服务器之间的类型错误
26.5示例:分组日历
26.5.1日历服务器
27显示和操作图形对象
27.1课堂
图解的
27.2原始绘图操作
27.3简单图形对象的类型
27.3.1
位图文件
27.3.2条
柔性图纸
27.3.3固定尺寸图纸
27.4结构化图形对象的类型
27.4.1操纵图纸
27.4.2在一张图纸中混合不同类型的图形对象
27.4.3图纸属性
27.4.4指定字体和颜色
27.4.5提前分配颜色和字体
27.5实施
27.5.1
图形F
27.5.2实施
图形F
27.5.3执行过程中的效率问题
图形F
27.6扩展布局机制
27.6.1参考点
27.6.2断线
27.6.3有条件的垫片和放置器
27.7结束语
28用于语法导向操作的组合器
28.1
标准操作手册
连接符
28.2示例:操作算术表达式
28.3非本地操作
28.3.1扩展示例:操纵变量
28.4实施
标准操作手册
连接符
29面向类型的GUI生成
29.1简介
29.2
表单元素
班
29.3一些改进建议
30自定义参数
30.1默认值的机制
30.2可定制GUI fudget的命名约定
30.3动态定制
30.4讨论
31个小工具
31.1 Gadget Gofer中的电线和工艺
31.1.1将进程与世界连接起来
31.1.2操作过程状态
31.2功能流程实施
31.2.1带状态的流处理器单体
31.2.2无状态过程
31.2.3带状态的小工具进程
31.2.4模拟小工具输入/输出
31.3讨论
五、应用
32 WWW浏览器--WWW客户端
32.1当前WWW浏览器实现的总体结构
32.2实施互联网协议
32.3显示HTML
32.4并行获取图像
32.5讨论
33阿尔法——类型理论的校对编辑
34 Humake——分布式并行制造
Haskell工具
34.1实施
35名太空侵略者——实时和模拟
35.1太空侵略者
35.2 Space-Invaders实施结构
35.3关于Space-Invaders实施的效率
35.4用流处理器替换软糖以提高效率
36 FunGraph(函数图)
37移动数据通信协议原型工具
38双板游戏
38.1爆炸游戏
38.1.1爆炸游戏的Fudgets实现
38.1.2 Fudgets和Gadgets版本的比较
埃克洛德游戏
38.2奥赛罗游戏
VI讨论
39效率和程序转换
39.1执行效率
39.1.1窗户系统接口的效率
39.1.2 Fudget组合器的效率
39.1.2.1流处理器不同表示的效率
39.1.2.2效率程序转换
39.1.2.3实用的半自动转换
39.1.2.4性能测量
39.1.3空间效率
40条关于Haskell和其他语言的评论
设计问题
40.1恼人的单态限制
40.2 Haskell字符串+类系统异常
40.3现有量化类型
40.4从属类型
41相关工作
41.1用于顺序I/O的组合器
41.1.1对话
41.1.2相互作用
41.1.3单子
41.2流和过程编程
41.3功能GUI工具包
41.3.1小工具
41.3.2哈吉斯
41.3.3白利度
41.3.4电子氙气
41.4与现有工具包的接口
41.4.1同期清理
41.5功能交互式图形
41.5.1短管
41.5.2法兰
41.6必备工具包
41.6.1爪哇
41.6.2披萨
41.6.3 C和主题
42评估和结论
42.1常见问题
43未来工作
43.1流处理器微积分
43.1.1基本流处理器
43.1.2一致性规则
43.1.3反应规则
43.1.4嵌入式微积分
43.1.5等效流处理器
43.1.6未来工作
43.2作为互联网代理的流处理器
A在线资源
A.1 Fudgets主页
A.2支持的平台、下载和安装
A.3编译Fudget程序
B Fudget图书馆快速参考指南
B.1高层,主要计划
B.2 GUI构建块(小部件)
B.3组合器、管道
B.4添加应用程序特定代码
B.5布局
B.6图形
B.7字母表
生产注意事项
上一个
顶部
下一步