mingw port status


もちろん普通のwindowも。
本流のMSVC版と方針が違うところがそれなりにあって( http://wiki.monaos.org/index.php?.mjt%2Fmosh%2FMingw%2Fpackaging )いまのところfork中。
特にpsyntaxやlibrary.scmに手を入れたままtrunkと同期するのは悪夢のように面倒なので変更が落ち着いてからマージしていくつもり。

canvas

http://wiki.monaos.org/index.php?.mjt%2Fmosh%2Fcanvas
次リリースに向けてcanvas portを設計中。MinGW版にはちょっと先に入るけど、リリース時にはcairoのPDF/PNGバックエンドはどのOSでもつかえるようになるはず。
プライマリな用途はデータのビジュアライズで、折れ線グラフとか円グラフとかをS式からすぐ描けるようにしたい。まぁ主に僕が修士論文で使うグラフを描きたいってだけですが。
セマンティクスはOpenVGになるべく合わせて作るつもり。ただ、LinuxはGallium3D等でサポートできるので良いとして、MacOSWindowsが。。基本的にEGL + OpenGL ES + OpenVG以外の組み合わせのグラフィックスAPIを積極的にサポートする気は無くて、例えばcairoには無い*1畳み込みフィルタなども標準で使えると言うことにしてしまう方針。もっとも、最初のリリースは本当に基本的なdrawopだけをサポートする。
これからLarrabeeだなんだという状況で、グラフィックスAPIなんて要るんですかという疑問も理解できなくはないけど、悲しいかな2Dグラフィクスに関してはベクタ描画でないとWebや印刷との親和性がどうにも。
インターフェースはyuniSchemeで設計した一般化ポートの流用で、受け取るイベントの形式を指定できるのが特徴。moshにはmatchがあるので、それを活用したインターフェースも考え中。arrange!:とかopen:、close:はプリミティブなので、通常のアプリケーションにはもっと抽象化したインターフェースを提供すべきという気持ちはある。

*1:glitzには有るが、glitz自体がちょっと。。