taroleo さんが作ってるライブラリの話
.@taroleo さんのtweetきっかけで思いついて ScalaSignatureについて書いた http://t.co/580VBxcW "ScalaSignature を直接使うべきか否か"
2012-08-16 23:07:49@xuwei_k もちろん2.10が出るまでのつなぎです。というか既に自分で必要な情報を取り出せる様にライブラリにしているので、、、、解説記事を書くべきかどうかを悩んでました
2012-08-16 23:28:49@xuwei_k 実際にここでClass[_]の情報与えたら、constructorやらmethodやらの型情報を[A]の中身まで含めて取得するコードを作っています。https://t.co/FFSdzeBf
2012-08-17 10:13:37@xuwei_k 例えば、extendするだけでhashCode, equals関数を自動生成してくれるEq traitを作りました。@chiba_sh先生の javassistを使ってバイトコードを生成しているので高速です。https://t.co/ShPH8swl
2012-08-17 10:20:02ScalaSigでメソッドの型情報を取得して、command line の情報をメソッドの引数に変換してメソッドを呼び出したり、RPCしたり、いろいろ応用があって楽しいです。
2012-08-17 10:24:31def hello(s:Option[String]) など、javaのreflectionだけだと、Option[Object]とだけしかわからないので、以前はどの型に変換すればよいかわかりませんでした
2012-08-17 10:26:12@taroleo なるほど、結構本格的に色々やってますね。そこまでやるのって、それほど聞いたことない(MongoDBのORマッパーのSalatなんかは似たようなエグいことやってましたが)ので、もっと英語で情報発信したほうが、フィードバック得られていいかもですね
2012-08-17 10:30:12@taroleo 2.10で使うことも見越しているなら、2.10.0-M6の次はRCと言っていたし、そろそろbugfixだけで機能追加やインタフェース変更はしないはずなので、余裕があれば2.10.0finalが出る前から、RC使って2.10.0対応を試してみるとか?
2012-08-17 10:32:23@xuwei_k リリースするのにtypesafeに移行したり、gpgで署名できるようにしたり、と四苦八苦してましたw https://t.co/g6zTQSo1
2012-08-17 10:43:36https://t.co/TXwMcAEm https://t.co/i9mtchBh scala-reflectのモジュールの、ScalaSig読み込み関連のコードこのあたりかな。読んでみるか。
2012-08-17 10:47:15てか、もし仮に、2.9と2.10でScalaSigのformatに変更がなければ、2.10のリフレクションAPI使って、2.9でコンパイルされたクラスファイルの ScalaSig を pickle してゴニョゴニョできるのかな
2012-08-17 10:49:59@taroleo ちょっと思ったのは、2.10のリフレクションAPIあえて使わずに、2.10でもscalapのjarに依存して、2.9のサポートずっと続けつつ2.10でも同じようなインタフェースで利用可能なライブラリにするという選択肢もありですかね。
2012-08-17 10:56:03@taroleo 2.10だけ内部でリフレクションAPIつかうと、2.9のサポートが面倒になるし。 まぁそもそも、2.9でそういったライブラリの需要があるのか(あったとしてもいつまでつづくか?)どうかなど、色々判断必要ですが
2012-08-17 10:57:56@xuwei_k 2.10で今のままの仕様で動くならあえて新しいAPIを使う必要がないので、その方が楽ですね。試してみないとわかりませんが
2012-08-17 11:29:28@taroleo scalapのScalaSig関連のファイルの履歴みると、大きな変更した様子ない(=つまり2.9と2.10でフォーマット変更ない)ので、個人的な予想ではそのまま動くと思います https://t.co/LgyuzaHS https://t.co/AdtVo7Aj
2012-08-17 11:37:13@xuwei_k jenkinsにテストさせると良さそうですね。sbtはけっこうメモリ食うので、まずはビルドサーバーを移動しないと。。。
2012-08-17 11:41:03@taroleo jenkins用意できる余裕があるならもちろんそれでいいと思いますけど、 travis-ci 手軽にできてオススメです。 http://t.co/li474XMz http://t.co/zHqgGDuJ ちょくちょく不安定だったりデメリットもありますが
2012-08-17 11:43:58Scalaを便利に使うための機能が満載です。Xerial library: https://t.co/g6zTQSo1
2012-08-17 11:53:38sonatypeに3.0-SNAPSHOTをdeploy。moduleを統合したunidocを置く適切な場所があると良いのだけれど。
2012-08-17 12:07:43@taroleo scalazやsbtはscaladocをgh-pagesに置いてますよ https://t.co/5CAgJn4T https://t.co/3y1v6YxF http://t.co/5zexI0Sf http://t.co/1MfGhuXQ
2012-08-17 12:22:25