scalaz-magnoliaというライブラリをリリースした

一週間少し前に以下のようなのを書きましたが

xuwei-k.hatenablog.com

その後、

と気づいたので作りました。

scalapropsのものと色々共通するところがあるので、説明は簡単に済ませますが、最初のリリース時点では

  • Scala 2.11がmagnolia自体のバグにより動かないのでリリースしてなく、2.12のみ
  • よってscala-native対応もなし
  • scalajs対応は最初からやった
  • 現状では Equal, Order, Monoid, Semigroup の4つのみ
  • MonoidやSemigroupは、適切な実装がありえない(?)ため、sealed traitとその子classのパターン(直和型)には未対応
  • Showはあまり必要性感じなかったので、一旦入れてないが、あとで気が向いたらやるかもしれない
  • EnumやSemiLatticeやBandも出来るかどうか考えてみて、やれそうならやるかもしれない
  • tweetもしたが、FunctorやFoldableなどの * -> * の kind のものが magnolia 的に不可能だとしたら、あとはあまりやること無い(?)

といった感じです。

あと、日本語で雑にtweetしてたら色々リプライもらったので、以下にまとめておきます。

togetter.com