LunarML v0.2.0リリースと最近の進捗

LuaやJavaScriptを出力するStandard MLコンパイラー「LunarML」のバージョン0.2.0をリリースしました。

前回からの変更点は、以下のような感じです:

  • IO 関連のモジュールの整備:PrimIO, ImperativeIO, TextIO.StreamIO, BinIO.StreamIO
  • LuaやJavaScriptで書かれた初期化ファイルの不要コード削除の実装
  • パイプ演算子:|>$(SML_LIB)/basis/pipe.mlb で利用可能)
  • Sphinxによるドキュメント
  • JavaScriptやLuaバインディングに対するいくつかの関数の追加
  • カリー化解除の最適化

作業量として大きかったのは、IO関連です。3月から5月ぐらいに取り組んでいました。

IO関連の機能を強化したら、生成されるコードが膨大になりました。そのため、不要コード削除の最適化を強化しました。その際に遭遇した事象についての記事を書きました。6月から7月ぐらいに取り組んでいましたが、結構しんどかったです。

まだまだ実装したい機能はたくさんありますが、最近は変更を加えていなかった(落ち着いていた)こと、近い将来に大きな変更を実装できる見通しはないことから、一区切りだと考えてリリースを出すことにしました。

そういえば、5月ぐらいにHacker Newsに取り上げられました。

その数日前にGitHubスターが250に到達していましたが、Hacker News効果で一気にスター数が跳ね上がりました。今は345スターです。

とにかく、GitHubスターがあると励みになります。もしまだスターしていないという方がいれば、GitHubにスターをいただけると嬉しいです。