Scala 2.10 では、リフレクションが改善されているようです。
これは、lift-json、jerkson、sjson などにどのような影響を与えますか? さらに、それほど遠くない将来、Groovy の優れた Scala の GSON に似たビルトイン JSON 言語機能を期待できますか?
私が尋ねる理由は、私が心からやりたいと思っているからです:
case class Foo(a: String, b: Int, bar: Bar)
case class Bar(c: Int)
val foo = Foo("hey", 10, Bar(23))
val json = foo.toJson
任意の複雑なオブジェクト グラフであっても、フープ ジャンピング (定型的な準備作業) は必要ありません。言い過ぎかもしれませんが、人はいつでも夢を見ることができます。私の 2.10 の夢を打ち砕くか、待望の Scala のリリースでどのような新しい道が開かれるか教えてください。
また、ケースクラスに関しては、バリデーション/作成のようで、scalaz バリデーションが最適な武器です。オブジェクト作成の安全なプロキシとして、またはエラー コレクターとして機能することは、非常に素晴らしいことのように思えます。しかし、Scewbie として、私は scalaz がいくぶんやりがいを感じており、F-ing のダークサイドに抵抗しています ;-)
いずれにせよ、ここでのポイントは、2.10 リフレクションを使用すると、たとえばフォーム ポストからケース クラスのプロパティにフィールドを実行時にバインドし、プロパティ タイプのみに基づいて基本的な検証を実行できるはずです (つまり、プロパティ foo を指定する別の検証ロジックを指定するには、その型が適切に反映できるようになったケース クラスで既に定義されているため、文字列でなければなりません)
では、勇敢な新世界が到来するのか、それとも既存のツールが予見可能な将来の主力なのか?