Haskell FGL节点映射在多次插入节点时崩溃

Haskell FGL节点映射在多次插入节点时崩溃,haskell,Haskell,我正在尝试将玩具EDSL作为后端进行无标记的最终嵌入。我正在使用接口构建第4.2节中描述的DAG,遇到了一个可以归结为以下小示例的错误: *ExpFgl> run_ empty ((insMapNodeM 1) >> (insMapNodeM 1)) :: Gr Int () *** Exception: Node Exception, Node: 1 按照我阅读文档的方式,第一个(insMapNodeM 1)应该成功,第二个应该在节点映射中找到1,并且基本上什么都不做。然而

我正在尝试将玩具EDSL作为后端进行无标记的最终嵌入。我正在使用接口构建第4.2节中描述的DAG,遇到了一个可以归结为以下小示例的错误:

*ExpFgl> run_ empty ((insMapNodeM 1) >> (insMapNodeM 1)) :: Gr Int ()
*** Exception: Node Exception, Node: 1

按照我阅读文档的方式,第一个
(insMapNodeM 1)
应该成功,第二个应该在
节点映射中找到1,并且基本上什么都不做。然而,我得到了这个例外。是我做错了,还是这是一个bug?

行为似乎没有定义,可能是基于底层
DynGraph
实例的行为。请使用
Data.Graph.inclusive.PatriciaTree
再试一次,看看是否有效?

这似乎有效,谢谢!您认为这应该作为bug报告,还是仅仅作为行为未定义的结果报告?这似乎是使用一元界面的自然方式。我是FGL的维护者,所以我来看看。如果你介意的话,你能给我发电子邮件告诉我你的用例吗?这样我就可以考虑如何改进NodeMap(我从来没有需要它,所以我从来没有真正考虑过它)。当然,一旦我用我的算法解出一个正交问题,我就会把它发送出去。