2011-11-10 8 views
2

におもちゃEDSLをタグなしで埋め込むために、fglをバックエンドとして使用しようとしています。私は、セクション4.2で説明したDAGを構築するNodeMapインタフェースを使用していて、この小さな例まで蒸留することができ、エラーに実行しています:ノードを複数回挿入するとFGL NodeMapがクラッシュする

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

私はドキュメントを読む方法、最初(insMapNodeM 1)成功する必要があり、2番目はNodeMapに既に1があり、本質的に何もしません。しかし、私は代わりにこの例外を取得しています。私はが間違っているのですか、またはこれはバグですか?

答えて

2

動作は未定義のようであり、おそらく基になるDynGraphインスタンスの動作に基づいています。 Data.Graph.Inductive.PatriciaTreeを使用してもう一度お試しください。

+0

これはうまくいくようです。ありがとうございます!これがバグとして報告されるべきであると思いますか?モナドのインターフェースを使うのは自然なやり方のようです。 – acfoltzer

+0

私はFGLのメンテナーですので、見ていきます。もしあなたが気にしているなら、あなたのユースケースで私に電子メールを送ってください。NodeMapを改善する方法について考えることができます(私はそれを必要としなかったので、 – ivanm

+0

確かに、私はそれを一度に送信します私は私のアルゴリズムで直交問題を解決します。 – acfoltzer

関連する問題