それぞれ、sonatype経由でmaven centralにpublishしてます。もうScala2.11.0でも使えるようにcross buildしてます。2.11.0対応以外にも、最近は地味に(ここに書いた以外にも)自分のライブラリ細かくリリースして、tagつけてpublishしてるので、もし良かったら使ってください。
以前もblog書いたことあるけど、改めてそれぞれのライブラリの簡単な紹介も書いておきます
- https://github.com/xuwei-k/iarray/tree/v0.2.7-scalaz70
- (ScalazのImmutableArrayが使いづらいので)独自に作ったimmutable array
- プリミティブ型のBoxingを諦めるかわりに、Scalazのいろんな型クラスのインスタンスになってて使いやすいはず
- (当初はやってなかったが) Scala2.10向けのビルドとか、Scalaz7.0.x向けのビルドもやるようにしました
- http://d.hatena.ne.jp/xuwei/20140117/1389959951
- https://github.com/xuwei-k/nobox/tree/v0.1.9-Scala-2.11.0
- ひたすらboxingとunboxingを抑えてパフォーマンスを追求したimmutableなarrayのライブラリ
- 基本的にScala標準ライブラリより速い
- 依存してるライブラリなしなので、使いやすいはず
- それぞれのプリミティブ型毎に専用のclass生成
- http://d.hatena.ne.jp/xuwei/20131029/1383012766
- https://github.com/xuwei-k/applybuilder
- ScalazのApplicativeBuilderが、12までしか用意されてなかったりするので22まで作った
- なおかつ、scalaz.Applyの「^^^^」などのメソッドに比べると、少しだけ型推論も改善されてる
その他依存ライブラリの関係で、このblog書いてる時点では、まだScala2.11.0向けはリリースしてないけど色々リリースしてるので興味ある人はここ見てみよう http://repo1.maven.org/maven2/com/github/xuwei-k/
あとは、自分のやつだけではなく
と、言われるくらいに、いろんなライブラリに2.11.0でビルドしろー。というpull req送ってます。
下記の画像以外にも、コミット権限があるargonautやnscala-timeやscalikejdbcのScala2.11ビルドのために地味に少し直接コミットしたりしてました。
こういった、できるだけ素早く新しいversionに地味に追従して、頑張って工夫してクロスビルドのためにビルドファイル書き換えて、という作業、技術的に本質的に難しいわけではないですが、Scalaのエコシステムがうまく回るためには地味だけど必要なこと*1なので、今後ももっとやっていきたいですね。
わりと自分は地味な作業が好きみたいです。