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

代数。图表。内部

描述

藻类是用于图的代数构造和操作的库在哈斯克尔。请参阅这篇论文对于图书馆背后的动机、基础理论和实施细节。

本模块定义了使用的各种内部实用程序和数据结构在整个库中,例如具有快速连接的列表。API不稳定且不安全,并且仅用于文档。

简介

数据结构

数据 列表来源 #

带有的抽象列表数据类型O(1)时间串联(当前实现使用差异列表)。在这里是列表元素的类型。列表 是一个单体:记忆对应于空列表和两个列表可以与连接地图挂起(或操作员<>). 辛格尔顿可以使用函数构造列表纯净的来自适用例如。列表 也是的实例IsList(IsList),因此您可以使用列出文字,例如。[1,4] :: 列表 国际与相同纯净的 1 <> 纯净的 4; 请注意,这需要过载列表GHC扩展。要提取普通Haskell列表,可以使用到列表函数可折叠的例如。

实例

实例详细信息
莫纳德 列表 来源 # 
实例详细信息

定义于代数。图表。内部

方法

(>>=)::列表a->(a->列表b) ->列表b条#

(>>)::列表a->列表b->列表b条#

返回::a->列表#

Functor(仿真器) 列表 来源 # 
实例详细信息

定义于代数。图表。内部

方法

功能性维修计划::(a->b)->列表a->列表b条#

(<$)::a->列表b->列表#

适用 列表 来源 # 
实例详细信息

定义于代数。图表。内部

方法

纯净的::a->列表#

(<*>)::列表(a->b)->列表a->列表b条#

提升A2::(a->b->c)->列表a->列表b->列表c#

(*>)::列表a->列表b->列表b条#

(<*)::列表a->列表b->列表#

可折叠的 列表 来源 # 
实例详细信息

定义于代数。图表。内部

方法

折叠::单体m=>列表米->米#

foldMap(折叠地图)::单体m=>(a->m)->列表a->米#

foldMap'::单体m=>(a->m)->列表a->米#

文件夹::(a->b->b)->b->列表a->b#

foldr(折叠)::(a->b->b)->b->列表a->b#

折叠::(b->a->b)->b->列表a->b#

foldl(折叠)::(b->a->b)->b->列表a->b#

文件夹1::(a->a->a)->列表a->a#

文件夹1::(a->a->a)->列表a->a#

到列表::列表a->[a]#

无效的::列表a->布尔 #

长度::列表a->国际 #

元素::等式a=>a->列表a->布尔 #

最大限度::订单a=>列表a->a#

最低限度::订单a=>列表a->a#

总和::号码a=>列表a->a#

产品::号码a=>列表a->a#

IsList(IsList)(列表a) 来源 # 
实例详细信息

定义于代数。图表。内部

关联的类型

类型 项目(列表a)#

等式a=>等式(列表a) 来源 # 
实例详细信息

定义于代数。图表。内部

订单a=>订单(列表a) 来源 # 
实例详细信息

定义于代数。图表。内部

显示a=>显示(列表a) 来源 # 
实例详细信息

定义于代数。图表。内部

半群(列表a) 来源 # 
实例详细信息

定义于代数。图表。内部

单体(列表a) 来源 # 
实例详细信息

定义于代数。图表。内部

类型 项目(列表a) 来源 # 
实例详细信息

定义于代数。图表。内部

类型 项目(列表a) =a

图形遍历

数据 福库斯来源 #

这个集中图表达式的是焦点下的子图、其上下文以及所有遇到的子图的列表顶点。请参阅删除边缘以使用为例。

建造师

福库斯

图形表达式的所有顶点(叶)。

领域

清空焦点::福库斯来源 #

关注空图。

顶点焦点::(a->布尔)->a->福库斯来源 #

在给定一个表示顶点是否有意义。

覆盖Foci::福库斯a->福库斯a->福库斯来源 #

叠加两个焦点。

连接Foci::福库斯a->福库斯a->福库斯来源 #

连接两个焦点。

foldr1安全::(a->a->a)->[a]->也许 吧来源 #

的安全版本文件夹1.

可能是F::(a->b->a)->a->也许 吧b->也许 吧来源 #

一个辅助函数,尝试将函数应用于基本情况和也许 吧值和返回只是结果或只是基本情况。

公用设施

cartesian产品::订单c=>(a->b->c)->设置a->设置b->设置c来源 #

计算两个集合的笛卡尔积,对每个集合应用一个函数结果对。

胁迫00::可强制执行的f g=>f x->g x来源 #

在直接使用时帮助GHC进行类型推断胁迫无法编译。

胁迫10:: (可强制a b,可强制执行的f g)=>(a->f x)->b->g x来源 #

在直接使用时帮助GHC进行类型推断胁迫无法编译。

胁迫20:: (可强制a b,可强制抄送:,可强制f g)=>(a->c->f x)->b->d->g x来源 #

在直接使用时帮助GHC进行类型推断胁迫无法编译。

胁迫01:: (可强制a b,可强制f g)=>(f x->a)->g x->b来源 #

在直接使用时帮助GHC进行类型推断胁迫无法编译。

胁迫11:: (可强制a b,可强制执行的抄送:,可强制f g)=>(a->f x->c)->b->g x->d来源 #

在直接使用时帮助GHC进行类型推断胁迫无法编译。

胁迫21:: (可强制a b,可强制抄送:,可强制第q页,可强制执行的f g)=>(a->c->fx->p)->b->d->gx->q来源 #

在直接使用时帮助GHC进行类型推断胁迫无法编译。