よみがえるQIQ

別エントリで実装等について書く前に、これまでの経緯のまとめ。

以前のエントリ で↓のように書いていたのだが、

Scalaライクなミックスイン はエイプリルフールネタです。申し訳ない。

本気で取り組みたいですが、なかなか難しいですね。

求む、フルタイムでやらせてくれるお大尽。

プログラミングをしない人にPHPを少しわかりやすくする関数 “not” #phpadvent2012 に触発されて

と言ってしまい、その流れでphp-srcをforkしてnot演算子を実装したり、until文/unless文を実装したりしているうちに気分がノってきて、Synfomy勉強会で@itemanと話したのが決め手で「もう一度トライしてみよう」と相成った。

そして、寝て起きてPHPソースコードを見ていたら、なんか出来そうな気がしたので選挙に行ってから作業を始めると、割とあっさりできてしまって我ながらびっくり。難しいと思い込んで敬遠していたのはなんだったのか。

構想8ヶ月半というか、着想してから8ヶ月半といった方が正確かも。

こうしてできたScala風ミックスインと、以前からやっていたClang Blocks風無名関数にインライン呼出構文を加えたもの、全部入りのQIQブランチも作成。QIQPHPのアルファベットを一つずつ進めたもので、PHPの次を意味する由緒正しい名前。(僕の中では)

ダウンロード

configure生成済のソースコード一式と、特定環境向けのバイナリを用意したので、気軽に試してみてほしい。

追記:20121220 にはミックスイン済クラスの再利用に関するバグがあったので修正版の 20121221 と差し換え