pocketberserkerの爆走スマートフォン用の表示で見るpocketberserkerの爆走この広告は、90日以上更新していないブログに表示しています。いうライブラリがあります。HackageMonadLogicやLogicTが何者なのかはそのうち解説記事を書くとして、今回はこのライブラリをScalaに移植してみました。GitHubそのうちファーストリリースを出す予定です。このライブラリを作ったのは、smallcheckをscalaで実装してみたいと思ってコードをみたらLogicTが必要だとわかったためです。Haskellのlogictとの違い若干ですが差異があります。引数の順序logic関数は未実装(RankNTypesに阻まれた)いくつか制約を緩めている制約を緩めているというのは、例えばMonadPlusではなくApplicativePlusでよい、とかですね。requestをもらうまで気がついていなかったのですが、確かに緩められるものは緩めてもよいですね。dependenciesについてLogicTのMonadReaderインスタンス実装は@xuwei_kさん、@halcat0x15aさん、@gakuzzzzさんに手伝ってもらいました、ありがとうございます*1。dependenciesをScalaで実現できるのか自体知らなかったので、とても助かりました。みなさんScalaの函数型なことでわからないことがあったら以下のgitter部屋に突撃するといいと思います。GitterなぜScalaz?某猫やkitsの利用も考えたのですが、まだリリースされていなかったり今回の実装に必要そうな機能がなかったりしたので見送りました。あとはまぁ、Scalazを長らく触っていなかったのでリハビリしたかったとか(某本もでることですし)。Scalazは長い間開発が続いているだけあって機能が充実していて良いですね。いう意味では当分使われ続けるのではないでしょうか。まとめ小さいライブラリですがscalazの機能を色々と使っているので、ちょっとした勉強にはなるかもしれません。(1)はてなブログをはじめよう!pocketberserkerさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。