2023年
開発
Shiikaはデフォルト引数・キーワード引数の実装、LLVMのverup、Fileクラスの追加、型推論まわりの整理が主な成果かな。
現在は並行処理機能を入れることを考えている。これが来年の目標。
BiwaSchemeも地味に更新していて、er-macro-transformerが動くようになった。まだ仮なので本体と統合してはないんだけど。
Shiikaはデフォルト引数・キーワード引数の実装、LLVMのverup、Fileクラスの追加、型推論まわりの整理が主な成果かな。
現在は並行処理機能を入れることを考えている。これが来年の目標。
BiwaSchemeも地味に更新していて、er-macro-transformerが動くようになった。まだ仮なので本体と統合してはないんだけど。
なんかいろいろやった。主なのはこのへんかな。
で、v0.7.1をリリースした。11月は非互換を入れて、次のリリースはv0.8.0にする予定。
月報を再開する。
面倒になってきたという理由でやめてみたのだけど、一月ごとに進捗をまとめる作業がないと「進んでる感」を感じられなくてよくない、ということがわかってきた。
あとは締切のない趣味開発だとしても大まかな計画があったほうが、「今月末には○○ができているはず」という期待ができてよい。
ここ数年、月の初めに前月の月報を書いてたんだけど、今年はやめにしようかと思う。
あまり深い理由はないのだけど、面倒になってきたというのが一つで、やめたらどうなるか実験してみたいというのがもう一つ。
代わりに、もっと短いスパンで投稿していきたい。
今年書いたブログを見つつ振り返りを。
イベントというと今年はまあオリンピックかなあ。なんかずっと前のような感じがするが。ワクチン打ったのも今年か。
Shiikaについてはパターンマッチ、enum、Maybe型を実装した。処理系ミートアップのみなさまにはお世話になりました。
今月はコンパイラ全体が一つのRust crateになっていたのを、いくつかのcrateに分割した。依存関係が各ディレクトリのCargo.tomlに明示されるので、だいぶ構成がわかりやすくなったんじゃないかな。
その過程で、一部のメソッドをRustで実装するように変更した。前は「LLVM IRのコードを生成するRustのコードで実装する」というややこしいことをしていたので、これもわかりやすくなったはず。
引き続き放置ゲームのブームが来てる。11月はFE000000とCalculator Evolutionを完走した。FE000000、一貫してクールで格好良かったなあ。Calculator Evolutionは終盤がちょっとだるかったけど、閾値を超えたときのフィーバー感はピカイチ。
Hash#[]
などがMaybeを返すようになった。これがやりたかっただけなのに、enum入れたりパターンマッチ入れたり大変だったなあ。やれやれだぜ。empty?
みたいにメソッド名に?
をつけられるやつ、やっぱ欲しいなと思ったので入れた。パターンマッチの実装をしていた。ようやくバグが取れて、あともう少し整理したらマージできるかなというところ。いやー時間かかったなあ。なんでこれだけのことがこんなに時間かかるんだろう、と時々思うが、思っててもしょうがないので、一つ一つやっていくしかない。まあ9月は仕事が忙しかったし、体調も良くなかったし、そういう時もあるよね。
引き続き処理系Slackのみなさまには隔週で話を聞いてもらっている。ありがたいことです。
毎年夏の間だけチャレンジしている構文木マクロの実装だが、ようやく「なんとかなりそう」な感じになってきた。
方針を立てたので、あとはぼちぼちやっていくだけ…ではあるけど、あくまでShiikaの方が優先なので、数年後くらいに形になればいいなあ、くらいに思っている。