私は非常に似ている2つのモナドを持っています(実際には同じ名前ですが、完全に同一ではありません)。同じクラスタイプから派生しています。残念なことに、これらのモナドは異なるライブラリで定義され、お互いを知りません。関数AとしてLibraryAでMonadBを使用しようとすると、MonadAが期待していると誤解しています。おそらく一般的なクラスタイプをコンテキストとして代わりに使用して、2つのライブラリを一緒にリンクすることなく、LibraryA内でMonadBを多面的に使用する方法はありますか?ハスケル - 同じクラスから派生した2つのモナドを使い分ける方法はありますか?
1
A
答えて
3
共通のサブセットに制限されるように、クラスの種類をコンテキストとして使用できます。 MyClass
は通常、とにかくMonad
が必要になりますaltough
myFun :: forall m. MyClass m => m a
また、そこに追加のクラスを追加することができます。
+0
「フォール・ミー」と思っています。この場合、重複していますか? –
+1
@ PaulJohnsonはい、しかし、普遍性を強調するためにそれを使用したい人もいます。 – dfeuer
関連する問題
- 1. 同じクラスから派生したクラスから派生したC++サブクラス
- 2. 2つのオブジェクトが同じ基本クラスから派生しているかどうかを知る方法?
- 3. 2つのジョインテーブルを同じ2つのクラスをレールアプリケーションに関連付ける方法はありますか?
- 4. Android.Content.ActivityNotFoundException(アクティビティから派生したクラスから派生したクラス)
- 5. QObject派生クラスのクラス名を取得する方法はありますか?
- 6. 派生クラスでベースコンストラクタを使用する方法はありますか?
- 7. 他の派生クラスから派生クラスメソッドにアクセスする方法
- 8. 2つの異なるComboBoxを同じコードで分ける方法はありますか?
- 9. 同じソリューションで2番目のプロジェクトのコントローラから派生する方法
- 10. 同じクラスから派生し、共通のメソッドを共有しない2つのオブジェクトのクラスデザイン
- 11. Pythonのリストクラスから派生したクラスの使い方
- 12. C#、抽象クラスから派生型を見つけ出す方法は? (TextWriter)
- 13. 内部コンストラクタを持つクラスから派生する方法はありますか?
- 14. 派生クラスのコピーコンストラクタから基本クラスのコピーコンストラクタを呼び出す方法はありますか
- 15. .net環境でモナドの使用法はありますか?
- 16. XmlSerializerの使用中に派生クラスの基本クラスのプロパティを無視する方法はありますか
- 17. 派生クラスでインスタンス化される抽象クラスのstatic readonlyフィールドを持つ方法はありますか?
- 18. 同じサーバからの差分を2つのデータベースで見つけるには
- 19. グループごとに2つの列を分ける方法はありますか?
- 20. Unity Framework:同じインターフェースから2つのクラスをインスタンス化する方法は?
- 21. 派生クラスの型である抽象基本クラスのメンバーを宣言する方法はありますか?
- 22. 基本クラスから派生クラス名を取得する方法
- 23. 同じプロジェクトから2つのソナーレポートを生成する方法は?
- 24. ほとんど同じベースの派生クラス>派生クラスのコードの重複を避ける
- 25. 同じ名前の2つのC++クラスを分離する方法は?
- 26. C++で派生クラスに対して同じコンストラクタを記述する必要がありますか?
- 27. 2つのイメージファイルが同じであるかどうかを確認する方法はありますか?
- 28. QThreadから2つのクラスに対して同じシグナルを出す方法
- 29. 派生クラスまたは部分クラスを使用してインターフェイスを実装する方法は?
- 30. インターフェイスから派生した別のクラスの中にあるインターフェイスから派生したクラスをインスタンシエートする...ちょっと調べるためには
モナドは関数のコレクションです。私はあなたがバイナリで別のコードを置き換えることはできないと思います。それはあらゆる種類の奇妙なセキュリティリスクを引き起こします。 –
詳細を記入する必要があります。ここで推測するのは難しいです。 – chi