uehaj's blog

Grな日々 - GroovyとかGrailsとかElmとかRustとかHaskellとかReactとかFregeとかJavaとか -

JJUG 2009 Fall発表資料「変容する言語Groovy」

JJUG CCC 2009 Fallに参加させていただきました。
聴講したセッションについては、クラウドを中心にさまざまな話題があり、興味深かったです。

GroovyのBOF発表に来ていただいた方は、ほとんどがGroovyをすでに使ったことがあり、また、既に業務で使った・使っているという方もいらっしゃり、興味を持っている方が多かったということがわかりました。
しかし、最初すべったですね。笑いをとるのはむずかしい。時間も急ぎすぎて5分余ったorz。
とりあえず発表資料をあげておきます。

発表のために作ったAST変換のコードはこちらです。

http://github.com/uehaj/kobo/tree/master/experimental/astx/src/test/

どんなものかというと、以下のようなものです。どんな拡張ができるかは、あなたのアイデア次第!

@WithSourceInfoSymbol シンボル_FILE_, _LINE_, _CLASS_, _METHOD_を、処理中のソースコード情報に置き換える
@UseBinaryLiteral 二進数リテラル(Java 7で採用予定機能)
println $b01_001_0001
==> 145
@WithTimeout タイムアウト時間指定をすぎると例外が発生するようなメソッド定義
@WithTimeout(3)
def work() { ....... }
@Define シンボルの置換
@Define(symbol="that", value="delegate")
@Define(symbol="それ", value="it")
@Define(symbol="これ", value="this")
@Define(symbol="表示", value="println")

AST変換についてはこちらとかもどうぞ。

ご感想などいただけますと大変ありがたく。