fumieval
monad-skeleton-0.2をリリースしました。Freeモナド、あるいはOperationalモナドと呼ばれる、命令の並びと実際の挙動を分離する――つまり、プログラムの骨と肉を分ける構造を提供するライブラリです。ナイーブな実装は>>=が遅い、CPS版は命令を一つずつ取り出せないという欠点を解決するために提案されたreflection without remorse(キューを使って命令を格納する)を実装しており、実装の簡潔さとパフォーマンスが売りです。応用例として、extensibleと組み合わせて拡張可能作用を実装したがあります