代数图-0.7:代数图构造和转换库
版权(c) 安德烈·莫霍夫2016-2022
许可证MIT(请参阅文件LICENSE)
维护人员andrey.mokhov@gmail.com
稳定性实验的
安全哈斯克尔
语言哈斯克尔2010

代数。图表。关系。可传递的

描述

可传递二进制关系的抽象实现。使用代数。图表。等级用于多态构造和操作。

简介

数据结构

数据 传递关系来源 #

这个传递关系数据类型表示传递二元关系在一组元素上。传递关系满足可传递的类型类,尤其是关闭公理:

年/=空的==>x*y+x*z+y*z==x*y+y*z

例如,以下内容适用:

路径xs==(集团xs::TransitiveRelation Int)

这个显示实例生成传递闭包表达式:

显示(1*2::TransitiveRelation Int)==“边1 2”show(1*2+2*3::TransitiveRelation Int)==“边[(1,2),(1,3),(2,3)]”

实例

实例详细信息
订单a=>等式(传递关系a) 来源 # 
实例详细信息

定义于代数。图表。关系。可传递的

(订单a、,号码a) =>号码(传递关系a) 来源 # 
实例详细信息

定义于代数。图表。关系。可传递的

订单a=>订单(传递关系a) 来源 # 
实例详细信息

定义于代数。图表。关系。可传递的

(订单a、,显示a) =>显示(传递关系a) 来源 # 
实例详细信息

定义于代数。图表。关系。可传递的

IsString(IsString)a=>IsString(IsString)(传递关系a) 来源 # 
实例详细信息

定义于代数。图表。关系。可传递的

NFData公司a=>NFData公司(传递关系a) 来源 # 
实例详细信息

定义于代数。图表。关系。可传递的

订单a=>可传递的(传递关系a) 来源 # 
实例详细信息

定义于代数。图表。关系。可传递的

订单a=>图表(传递关系a) 来源 # 
实例详细信息

定义于代数。图表。关系。可传递的

关联的类型

类型 顶点(传递关系a)来源 #

类型 顶点(传递关系a) 来源 # 
实例详细信息

定义于代数。图表。关系。可传递的

类型 顶点(传递关系a) =a

来自关系::关系a->传递关系来源 #

关系.复杂性:O(1)时间。

到关系::订单a=>传递关系a->关系来源 #

提取基本关系。复杂性:O(n*m*log(m))时间。