Generic Monad System in Scheme

id:reinyannyan:20070714:p1 で考案したモナド実装案がほぼ実用的になってきましたので、取りあえず公開します。

monad.tar.gz (PLT Scheme 用)

monad.ss という、インターフェースとなるモジュールがあり、それを maybe.ss や list.ss 等の具象モジュールが実装する、という形になっています。

アプリケーション側では必要な具象モナドだけを require すれば OK です。

モナドトランスフォーマーや、Haskell 的な (データ・コンストラクタによる) パターンマッチ構文も利用できます。

サンプル: 確率モナド