少なくとも1990年代後半には、restricted monadsをハスケルに友好的に統合しようとする人々がいました。制限付きモナドの現在の状況は何ですか?
たとえば、限定されたモナドなしでは、Set
,Map
またはprobability distributionsから効率的なモナドを作ることはできません。ここ数年前のSO questionから、他の誰かがこの問題に遭遇しました。あらゆる可能な制限のためnew type classを作成
:
は、様々な人々を含む、が出ているという回避策があります。
Template Haskellを使用してください。
Constraint Kindsを使用します。
ただし、これらのアプローチはいずれも「標準」ではないようです。私はthis blog postのDon Stewartから、Indexed typesで制限されたモナドを「非常に近い」と暗示した2007年のコメントを見つけました。
現在のステータスは何ですか?制限されたモナドを行うための「カノニカル」な方法が今ではありますか?あるいは、私たちはまだ回避策を生きていますか?
私は制約の種類については正式なものだと思っていますが、それはまだ最も珍しいものです。 – leftaroundabout