Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
以图形形式查看Haskell箭头的工具_Haskell_Graph_Arrows - Fatal编程技术网

以图形形式查看Haskell箭头的工具

以图形形式查看Haskell箭头的工具,haskell,graph,arrows,Haskell,Graph,Arrows,Haskell箭头通常被解释为表示计算的有向无环图(DAG)。我正在寻找工具或库代码,它们将使用这种关系来帮助使用箭头进行编程 从箭头到图形,一个工具可以帮助可视化箭头代码。由于代码对应于计算的DAG,因此显示计算节点和输出到输入边的可视化表示是自然的。工具可以创建一个图形,以便使用标准图形工具进行查看和操作 是否有Arrow transformer可以扩展任意计算Arrow类,捕获>>>和***操作提供的结构,并可以将计算作为基本Arrow操作的图形进行检查 从图形到箭头,假设有一个DAG,其

Haskell箭头通常被解释为表示计算的有向无环图(DAG)。我正在寻找工具或库代码,它们将使用这种关系来帮助使用箭头进行编程

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

是否有Arrow transformer可以扩展任意计算Arrow类,捕获>>>和***操作提供的结构,并可以将计算作为基本Arrow操作的图形进行检查

从图形到箭头,假设有一个DAG,其节点是箭头操作。有没有一个工具可以从中构造一个计算整个DAG的箭头


我在谷歌上搜索了很多关于Haskell Arrows的文章,但没有找到这样的可视化工具。我错过什么了吗?也许没有我想象的那么自然。

一个好的起点是使用所谓的“自由
箭头”指定箭头图。您可以找到免费
Arrow
s的一个实现。将其视为
箭头
图形的语法表示


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

这是对我问题中“Arrow-to-graph”部分的一个很好的回答。看起来比我的“Arrow transformer”想法要好。@pkturner我想你可能想要的是
Arrows
语言扩展,它可以让你从一堆边构建
Arrow
。基本上,每当你写
y的时候,这就是我一直在寻找的东西。天哪!可以编写示例(a1,a0),但仍然希望得到一个有助于使用“图形到箭头”工具的响应。我开始理解,当基本箭头具有元组类型时,图形需要比简单的DAG更具表现力,以便识别哪个输出指向哪个输入。这类图有名称或理论吗?我不能确切地告诉你关于“图到箭头”的问题,但是如果你有一个表示DAG的类型,它的节点是箭头操作,听起来你可以给那个类型一个Arrow实例,然后就可以完成了。@Tom:如果dag对元组类型不做任何花哨的事情,那就很容易了。例如,我就想到了!。看起来,当我填写我需要的更具表现力的图形类型的详细信息时,您的建议仍然可行。