Scala2.7→2.8のMr.Scalaによるtweetのまとめ

あとで読む。
5
浅海智晴 @asami224

traitで型パラメータのManifestが使いないのか。むむむ。

2010-07-16 06:05:42
浅海智晴 @asami224

2.7から2.8にコンバートすると大量にエラーがでるけど大半はimportが厳格になったことによるもの。一括変換してくれるツールがあるとうれしいんんだけどね。

2010-07-16 06:18:00
浅海智晴 @asami224

intやbyteなどdeprecatedされていたtypeがなくなったのと、anyvalの暗黙変換の対象が減ったことがその次ぐらい。

2010-07-16 06:19:54
浅海智晴 @asami224

扱いに困っているのがnew Array[E]。仕様を調べるのに一苦労。さらにtraitだとManifestが指定できないみたい。あまり凝らずにArrayBufferを使うのが現実解かな。

2010-07-16 06:22:41
浅海智晴 @asami224

コンパイルを通している現段階では、心が折れそうな非互換はなさそう。 #scala 2.8 (以前はScalaTestで心が折れたけど、今回はこれから試す。)

2010-07-16 06:26:02
浅海智晴 @asami224

最初300超あったエラーが3個まで減った。パラメータ絡みなので、これは難しいかも。

2010-07-16 07:00:59
浅海智晴 @asami224

@tabizou 特に問題ないと思います。おおきな非互換はありませんし、本の方も2.8もにらんで説明をしているので。

2010-07-16 13:22:34
浅海智晴 @asami224

specsは1.6.5-SNAPSHOTが2.8.0対応という情報を頂きました。 RT @asami224: Specsが多分動きそうにないのが痛い。Specsで書いたテストコードは当面保留。新規のテストはScalatestを使う。

2010-07-16 14:36:48
浅海智晴 @asami224

jcl.ConversionsがJavaConversionsに変更。メソッド名も変わった。ソース非互換なので、目立つ仕様変更。 コレクションでdeprecatedになったメソッドがいくつか。 #scala

2010-07-17 05:47:08
浅海智晴 @asami224

2.8へのコンバートでは、ソース修正対応が事実上必須。ただ、ほとんどのAPIは互換性が維持されているので、心が折れそうな大物はないかな。 #scala

2010-07-17 05:49:57
浅海智晴 @asami224

Arrayが一級市民から1.5級ぐらいに格下げになったので、この点でアプリ側の設計変更級のインパクトがあるかな。Java登場の頃(15年前!)と違ってArrayの性能上のアドバンテージはあまり気にしなくてよいと思うので、Arrayはできるだけ使わないという方針がよさそう。

2010-07-17 05:53:54
浅海智晴 @asami224

Arrayは型パラメータとの関係もややこしいので、そういう意味でも深入りしない方がよさそう。 #scala

2010-07-17 06:02:20
浅海智晴 @asami224

2.7では、ListとArrayが共通の親Seqを持つという関係になっていたので、この3つのクラスを軸にコレクションを扱っていくようにしていたけど、Arrayが格下げになったのでList一本で考えていくのがよさそう。Seqもあまり表には出てこなくなる。 #scala

2010-07-17 06:08:58
浅海智晴 @asami224

コレクションは基本Listとscala.collection.mutable.ArrayBufferの二本立てでシンプルに考えるのがよい。これにMapとscala.collection.mutable.HashMapが加わるぐらい。後は適材適所で。

2010-07-17 06:17:49
浅海智晴 @asami224

なんだかんだでg3の2.8コンバート、一応できた。SimpleModelerからアプリケーションフレームワークを分離して別プロダクト化。 http://code.google.com/p/goldenport/

2010-07-17 06:23:48
浅海智晴 @asami224

scalatestも順調に動いた。 #scala 2.8

2010-07-17 06:26:40
浅海智晴 @asami224

SeqやMapがPartialFunctionなのを、ついつい忘れてしまうなぁ。ソース見ると思いだす。PartialFunctionで技が使えそうなんだけど、具体的な技はまだ思いついていない。 #scala

2010-07-17 06:30:20
浅海智晴 @asami224

reactive systemのハンドラーをPartialFunctionで部品化というのが面白そうだけど、そのためにはreactive systemのDSL/FWが必要になってくる。

2010-07-17 07:26:38