代数图-0.4:代数图构造和转换库
代数。图表。贴标签于。例子。自动装置
说明
阿尔加是用于图的代数构造和操作的库在哈斯克尔。请参见这篇论文对于图书馆背后的动机、基础理论和实施细节。
此模块包含一个使用定义的边标记图的简单示例在模块中代数。图表。贴标签于用于处理有限自动机。
数据 字母 来源 #
订购咖啡或茶的动作字母表。
建造师
点咖啡
点茶
取消付款或订单
支付订单费用
定义于代数。图表。贴标签于。例子。自动装置
方法
最小界限::字母 #
最大绑定::字母 #
成功::字母->字母 #
pred(前)::字母->字母 #
到枚举::国际->字母 #
来自枚举::字母->国际 #
enumFrom(枚举自)::字母-> [字母]#
enumFromThen::字母->字母-> [字母]#
枚举从到::字母->字母-> [字母]#
enum从然后到::字母->字母->字母-> [字母]#
(==)::字母->字母->布尔 #
(/=)::字母->字母->布尔 #
比较::字母->字母->订购 #
(<)::字母->字母->布尔 #
(<=)::字母->字母->布尔 #
(>)::字母->字母->布尔 #
(>=)::字母->字母->布尔 #
最大值::字母->字母->字母 #
最小值::字母->字母->字母 #
显示Prec::国际->字母->显示 #
显示::字母->字符串 #
showList(显示列表):: [字母] ->显示 #
数据 州 来源 #
订单的状态。
选择订购内容
付款
订单已完成
最小界限::州 #
最大界限::州 #
succ公司::州->州 #
pred(前)::州->州 #
到枚举::国际->州 #
来自枚举::州->国际 #
enumFrom(枚举自)::州-> [州]#
enumFromThen::州->州-> [州]#
枚举从到::州->州-> [州]#
enum从然后到::州->州->州-> [州]#
(==)::州->州->布尔 #
(/=)::州->州->布尔 #
比较::州->州->订购 #
(<)::州->州->布尔 #
(<=)::州->州->布尔 #
(>)::州->州->布尔 #
(>=)::州->州->布尔 #
最大值::州->州->州 #
最小值::州->州->州 #
显示Prec::国际->州->显示 #
显示::州->字符串 #
showList(显示列表):: [州] ->显示 #
咖啡豆自动售货机::自动装置 字母 州 来源 #
订购咖啡或茶的自动售货机示例。
订单=覆盖层[选择 -<[咖啡,茶叶]>- 付款,选择 -<[取消]>- 完成,付款 -<[取消]>- 选择,付款 -<[支付]>- 完成]
覆盖层
选择
-<
咖啡
茶叶
>-
取消
完成
支付
可达性::地图 州[州]来源 #
地图州可达性。
州
可达性=地图。来自列表$map(s->(s,可达成的秒秩序)) [选择..]
来自列表
可达成的
秩序
或者,在评估时:
可达性=地图。来自列表[ (选择, [选择,付款,完成]), (付款, [付款,选择,完成]), (完成, [完成]) ]