查看Haskell箭头作为图形的工具

时间:2014-02-23 19:37:12

标签: haskell graph arrows

Haskell Arrows通常被解释为表达计算的有向无环图(DAG)。我正在寻找可以使用这种关系的工具或库代码来帮助编写Arrows。

从箭头到图形,工具可以帮助可视化箭头代码。由于代码对应于计算的DAG,因此显示计算节点和输出到输入边缘的视觉表示是自然的。工具可以使用标准图形工具创建要查看和操作的图形。

是否有Arrow变换器增强任意计算Arrow类,捕获>>>提供的结构和***操作,并使得可以检查计算作为基本箭头操作的图形?

从图形到箭头,假设有一个DAG,其节点是箭头操作。是否有一个工具可以从这个构建整个DAG的箭头构建?

我在Google上搜索了大量有关Haskell Arrows的内容而没有找到这样的可视化工具。我错过了什么?也许没有我想象的那么自然。

1 个答案:

答案 0 :(得分:8)

一个很好的起点是使用所谓的“免费Arrow”来指定箭头图。您可以找到一个免费Arrow s in this Stack Overflow answer的实现。可以将其视为Arrow图表的语法表示。

free Arrow的好处在于它们保留了图形的结构,然后可以将其显示为图表。显示连接图后,您可以使用解释器将免费Arrow转换为所需的Arrow。免费Arrow的一个不错的属性是,根据定义,这样的解释器必须是唯一的(直到同构)(这是使其“自由”的属性之一)。