https://github.com/xuwei-k/twitterz
Inject typeclassについては、先日書いたこれ
CoproductとInjectを使ったFree Monadの合成とExtensible Effects
読んでください
単にFreeだけではなくOperational Monad使ってます。
名前、twitter4zにしたかったけど、ねこはるせんせーが、以前その名前で作ってたので、被るとややこしいしやめました。
これ、やはりものすごく単純作業になるのですが、もう少しどうにかならないか・・・。マクロかコード生成・・・?
あと、Interpreterを切り替える需要がないと、IOモナド(とReaderモナド合わせたもの)とあまり変わりがないというか、わざわざ分けて定義したりFreeとCoyonedaに包む分だけ、ライブラリ作成者側はちょっと面倒な気がしましたが、どうなんだろう、うーん・・・
とりあえず、最初のversionリリースしたので、build.sbtに一行書けば使えるはずです。
今後開発続けるのかは気分次第。