Google社内のシステム。 英語でもうちょっと詳しい記事を読んだ覚えがあるんだが、 URLを失念しちゃった。
で、最近、Ruby開発支援サイトを改良したいと言う欲求があるんだが、 単にTracとかRedMineとかRetrospectivaを導入するだけじゃなくて、 コードレビューとか投票とかも連携したいなあなんて思ってるんだけど、 そういうのって上記のツールでできるんだっけか。
通常の言語を使ってPrologのようなユニフィケーションを行うってのは よくある発想だけど、こっちは逆。Prolog上で手続き型っぽい言語を実装するという話。
意外と簡単にできるもんだな。
私はその手のツールに弱いんで、全貌を完全に把握することはできないんだけど、 これはたぶんすごいことなんだと思う。グラフィカルに定義したものが そのまま動くんだから。
私の最初の職場で本当に役に立つかよくわからないCASEツールを作っていた 同僚たちもこれを見たら草葉の陰で涙を流すかもしれない。 まだ死んでないけど。
新言語Kite。
なんとなく「ひっくり返った」印象を与える。
{ value|print; }|for(1|range(10));
これで1から10まで出力するんだそうだ。
これは「|」がメッセージセンドであると解釈する、つまり
と解釈するようだ。keyとかvalueとかは決め打ちのようだ。
長女の高校の合格発表。
最近はネットでチェックできるのね。 合格してた。
中学校の同級生で同じ高校を受験した人は全員合格していたそうだ。 喜ばしいことなんだろうが、 少子化による競争の低下を目の当たりにしたような気がする。
「ゆとり」以前にそっちが問題だろう。
ぱっとみ、UNIXのパイプのようにみえますね。
つまり、オブジェクトに対するメッセージのよびだしというより、値を次の関数(?)に引き渡すという感じ。
* valueをprintメソッドに渡すよ!
* というブロックをfor文でこれからぐるぐるまわすよ!
* 1をrange(10)に渡すと、1から開始して10までの値をvalueとして生成するよ
※ここがそんなに直感的ではないですかねぇ
↓
結果として、1から10までの数字がprintされるよ!
という感じで。
tracには、コードレビューPluginがあるようです。
ただし、開発中でまだ、それほど安定していないようです。
http://trac-hacks.org/wiki/PeerReviewPlugin
たしか、このプラグインに(レビューに対する)投票機能もあったように思いますが、記憶が定かではありません。