Groovy Web Consoleを見ていて気づいた事ですが、Groovy 1.8ではクロージャに対する演算子<<および>>で関数合成ができるようになってますね。
def twice = { a -> a * 2 } def plus3 = { a -> a + 3 } def t1 = twice >> plus3 def t2 = twice << plus3 assert t1(1) == (1 * 2) + 3 assert t2(1) == (1 + 3) * 2
a>>bは、b(a())の順に適用されるクロージャを返します。
a<<bは、a(b())の順です。
Groovy Web Consoleのエントリには、「誇りに思うぞ、わが息子よ」と、C++の設計者Bjourne Stroustrup氏の名前でのコメントがついてますw(ほぼ100%ニセモノだと思いますがw)