Groovy 1.6.2がリリースされてます。バグフィックスか。1.5.8もでてますがこれが1.5系の最終リリースなので1.6系に移行せよとのこと。
- http://groovy.dzone.com/announcements/groovy-162-has-been-released
- http://groovy.codehaus.org/Download
あと、AST変換のちゃんとしたドキュメントが出ている。
AST変換とはなにかというと、高レベルの見地から言えば、デザインパターン指向プログラミングを実現するもので、ImmutableとかSingletonとかを「手書き」で書かなくても,アノテーション指定すればそうなるというものです。
低レベルの見地からすると、Groovyコンパイラのフロントステージとバックエンドステージの間に介在して、前者が生成するAST(抽象構文木)を加工するフィルタ(visitor)をかまして、任意のセマンティクスを実現するもの。そのフィルタの起動フックがアノテーションになってる訳です。
大局的に言うと、言語の意味を、コンパイラのソースコードを変更しなくてもかえられるという、広義のリフレクションみたいなもの。構文(Syntax)とロジック(Mop)の狭間の領域に対するリフレクションみたいなもの。コンパイル時メタプログラミングとも呼ばれる。javaassistとかでバイトコードを加工するのともにてるが、ASTレベルなので扱いやすい。
よろしければこちらもどうぞ。