yhara.jp

Recent Posts

2020年8月 (Shiika クロージャ)

2020-09-02
Diary

8月の活動報告です。

Shiika

無名関数を実装した。クロージャ(自由変数のキャプチャ)は作業中。先月の日記を見たら「そんなに難しくなさそう」とか書いているが、実際にはすごく大変だった。設計メモがここにある。

何が大変だったかというとクロージャがネストする場合で、各クロージャはllvmのfunctionに変換されるのだが、2つ以上外側のクロージャの変数をキャプチャする場合、真ん中のクロージャも協力して変数をバケツリレーしてやらないといけないのであった。

普段はわりと「書き始めたらなんとかなるだろ」的な感じで見切り発車してしまうのだけど、今回はわりと真面目に考察してみた。そのかいあって実装自体は順調に行っている。

そういえばなんかRedditに載ったらしくて、急に知らない人からプルリクが届いたりした。直近だと、コード生成をRuby + erbでやっていたのをRustマクロに直してもらったりした。ありがたい。

BiwaScheme

夏休みの自由研究としてr7expanderの移植に手を付けた。なんかわりと簡単にうまくいきそう。

とはいえやることは多い。展開器ができたとして、それを本体に組み込む前にCPS(継続渡し形式)で書き直さないとSchemeでマクロが書けないし、直近で手に入るのはer-macro-expanderなのでそれをベースにsyntax-rulesを作る必要はあるし、既存のdefine-macroで書いたものがちゃんと動くか確認しないといけないし、等々。まあ気が向いたときに少しずつやっていきましょう。

VPS移行

この日記をホストしているVPSを更新した。Cent6からUbuntuに移行した。さくらVPSのインスタンスを新しく借りたため、ここ数ヶ月はVPS2つ分の料金を払っていたけど、ようやく古いのを解約できそう。

Helix

テレワーク環境整備の一環として、長いこと作りかけで放置していたHelixを完成させた。

キーマップはとりあえずすぐ使えるように、Let's Splitのものとだいたい一緒にしてある。数字段があるのが大きな違いだけど、レツプリに慣れてしまうと数字段は遠く感じてしまう。代わりにファンクションキーでも割り当てるかなあ。

Clash Royale

ついにタワーレベル13になった。でもまあそれほど大きな差は感じないなあ。相変わらずウィズとネクロ環境。このレベル帯を抜けるとこまではやりたいなあ。

最近Rayarkからソウルオブエデンというゲームが出てて、そっちも少し気になっている。クラロワと同系統なので経験が活かせるはず。

More posts

Posts

(more...)

Articles

(more...)

Category

Ads

About

About the author