Data.Dynamic
を他のData.Dynamic
にマップします。何Ord Dynamic
はありませんので、しかし、私はハスケル - Data.Dynamicをマップに入れる簡単な方法はありますか?
Map Dynamic Dynamic
を書き込むことはできません。 EDSLコンパイラの内側に>値 - (?toDyn
機能のみOrd
物事を受け入れ、そしてボクシング時に型クラスを具体化するDynamic
のバージョンなど)すべてのソリューション
この動機は変数からマップを持つことではあります。 (明らかに、変数は異なるタイプを持つことができます)。
:申し訳ありませんが、この問題では必要ありません。変数名をキーとして保存するだけでよいのですか?しかし、私はまだ質問に興味があります。
ありがとうございます!
素敵なトリックですが、私はあなたが何をしたのかを高水準で説明しておかなければならないと思います:「ダイナミック」のように動作するタイプを作成しましたが、その値は比較関数をカプセル化します。この比較機能は、(a)同じタイプの値を比較する、(b)異種タイプの値を比較する、の2つのケースに対処しなければならない。最初のケースは、共通型の 'Ord'インスタンスを使って処理され、後者は*型*自身を比較することによって処理されます(例えば、すべての' Float'sが ''すべて '' Int'sの前にあるように)。あなたのテストが表示されます。) –
@サクンディム、確かに、私はあまりにも多くのことを当然としていました。お気軽に答えを編集してください。 – gatoatigrado
あなたのダイナミックバージョンでは、関数などを処理できません。これは、DSLの実装に使用されている場合には重要な機能です。 – augustss