nmoshの今年と来年 は年度末に延期

今まさにやっております。。年度末くらいにもう一度。というかこれ多分四半期くらいにやった方が良い(週刊は厳しいので)。

今年やったこと

細かいステップが多い。。

  • DITAを評価してビルド環境を作った(ドキュメント)

HTMLで書いて変換してくるのが良さそうだけど良いエディタを見つけられていないところ。多分、現状ではもうWebブラウザ上で動作するHTMLエディタが一番matureなので、ローカルにWikiを立てて書くような形式になるのかな。と。。
翻訳はOmegaTで良さそうだが、TMや語彙を管理する良い方法が無いのが課題。あと、Scheme用語の標準訳語をどこかに纏めておかないと不味そう。図版の記述と翻訳も検討しないといけない。

  • R6RS/R7RS実装間で同じライブラリを使い回す手法を確立した(yuni)

ただし、ライブラリをR6RS形式で書いて、R7RS側からはincludeしてくるというインチキを使用。とにかく目的は達成したし、Racketのライブラリを書くのが面倒という問題も解決した。
もっとも、R7RS処理系間では低レベルマクロの扱いがかなり異なることが判るなど、実用的なライブラリを書く上での課題はまだまだ多い。

ひとつのバインディングを複数の処理系で使い回す方法論を考えた。現状、ブリッジDLLを作り、それを限定された呼び出し規約で呼ぶ という方式が良さそう。
呼び出し規約を限定し、ブリッジDLL経由で呼ぶのは、ABIの知識が無くても実装できるようにするため。UCIDは廃止して、nccc(normalized C calling convention)を決めるだけにした。

来年やること

来年はいよいよゲーム作りが本格化してくるので、それに引き摺られるような開発になるはず。。どこかでリリースを入れないとという気持ちも有りつつ。。
nmoshとしての目標は:

  • nmoshを窓の杜のレビューに載せる

で行こうと思います。4年くらい前にも同じことを書いてますが( http://d.hatena.ne.jp/mjt/20110209/p1 )。nmoshは自分が使う分には満足だけど、他人に使って頂くようにならないと進歩しないので。そのための企画等は追々。。
目先の目標は:

  • Q1 yuniFFIの実装
  • Q2 OS依存部をScheme + yuniFFIで書き直し、他のScheme処理系で再利用可能にする

元々MonaOSのシェルとしての出自が有ることを考えれば、人とのインターフェースに置かれる処理系であるというのは宿命なのかな。と。そこを強く意識してデザインされた言語処理系は面白いものになるのではないかと思っています。