yhara.jp

Recent Posts

2022年9月

2022-10-04
Diary

月報を再開する。

面倒になってきたという理由でやめてみたのだけど、一月ごとに進捗をまとめる作業がないと「進んでる感」を感じられなくてよくない、ということがわかってきた。

あとは締切のない趣味開発だとしても大まかな計画があったほうが、「今月末には○○ができているはず」という期待ができてよい。

Shiika

型推論

"Complete and Easy Bidirectional Typechecking for Higher-Rank Polymorphism"という論文の型推論アルゴリズムをShiikaで実装した。 https://github.com/yhara/BidirectionalTypechecking 実装したというかRust版の移植だけど。最初はRust版を読むだけで理解できたらいいなと淡い期待を抱いてたんだけどさすがに無理だったので論文のほうもざっくり目を通した。

で、肝心のShiikaに使えるかどうかだけど、Shiikaはメソッド呼び出しという概念があるのでそのままでは適用できなそうだった。しかし改めて推論したい箇所を整理してみると、いくつかの頻出パターンの推論をやるだけでだいぶ快適になることがわかったので、それをやることにした。

Timeクラス

定期ミートアップ 第34回 - yharaの頭の中

組み込みのTimeクラスの設計をした。localtimeだけでよければ簡単に使えて、タイムゾーンを扱う場合もそれなりに対応できる、というところを目指すつもり。

実装も始めたけど、無限にyak shavingが発生している。 https://github.com/shiika-lang/shiika/issues/409

proc macroの解説記事を書いたりした。

10月の予定

  • Timeクラスを完成させる。
  • if letがないと辛すぎるというのがわかったので、それを入れる。それに伴い、普通の変数宣言もlet必須にするかも?大きい非互換なのでやるなら早めにしたい。
  • method_tyargsの型推論

More posts

Posts

(more...)

Articles

(more...)

Category

Ads

About

About the author