2019年12月 (dynamic-wind)
近況です。
アドカレ
12月といえばAdvent Calendarの季節だが、12月上旬は体調を崩していてあまり作業できなかった。
Opal Advent Calendarにいくつか記事を書いた。
dynamic-wind
2019年11月 (Shiika while)
近況です。
Shiika
11月下旬は体調を崩していてあまり作業できなかった。
varとwhileとビット演算を足して、あとはbreakを実装すればマンデルブロー集合が描けるようになるかな?というところ。
2019年10月 (Shiika 定数)
近況です。
ISUCON2019 本戦出場
10月頭はISUCON本戦のために新宿まで行ってた。予選の規模もすごかったけど、本戦ではこの32チームのために予選とは全く違う問題が作られていて、本当に運営がすごいと思う。ありがとうございました。
結果は13位…なのだけど、実をいうと終了10分前からベンチマークのFailが連発しており、あわやNo Scoreかと思われたのだった。ので順位がついて良かったなあというのが正直な気持ち。
2019年9月 (ISUCON予選突破)
近況です。
ISUCON2019 本戦出場
会社ブログにも書いたけど、ISUCONの本戦に出ることになった。今回が初参加で、「本戦行くぞ!」みたいなテンションでやってたわけでもなくて、期待はしてたけど、本当に行けるとはみたいな感じ。
syntax-case進捗
2019年8月 (syntax-case実装)
近況です。
syntax-case
BiwaSchemeにsyntax-caseを実装した。まだ基本的なケースだけしかサポートしていないので本体にマージしていないが、とりあえず現時点のものはここにある。
シンボルを自動でリネームする機構("Beautiful Code"に載ってるやつ)までは何年か前に実装していたのだけど、それを一歩進めて、define-syntax + syntax-caseで(簡単な)マクロが定義できるようにした。おぼろげに「パターンマッチを実装する」という作業だと想像していたのだけど、それに加えて「マクロ展開時にScheme式を実行できるようにする」という作業があった。このあたりの話は月報ではとても書ききれないので、別途記事にしたい。
どうして数年ぶりに作業を再開したのかというと、define-syntaxないのと聞かれたからという単純なものである。まあ中途半端な状態で放置してたのがずっと気になってたというのもあるけどね。
2019年7月 (Shiika コード生成)
近況です。
Shiika
7月は主にShiikaのLLVM IR生成をやっていました。.llファイルの書き方は知っていても、それをinkwell(あるいはLLVM C API、あるいはLLVM C++ API)で出力する方法が分からなくて手間取ったりしましたが、だいぶ慣れてきて、Boehm GCでオブジェクト用のメモリをアロケートするところまでできました。あとはnewとinitializeを実装すればShiikaオブジェクトを実体化できるようになって、動くものが増えるはずです。
…と思ったのですが、p foo().bar
がパースエラーになるのをきっかけにパーサ沼にはまってしまい、昔のRubyのparse.yを調べたりしていました。なんとなく分かってきたので、次の作業はこれを実装することになりそうです。
2019年6月 (とちぎRuby会議/zanzou)
2019年5月 (とちぎRuby会議の準備等)
2018年4月 (RubyKaigi2019福岡)
近況です。
RubyKaigi
4月はRubyKaigiでOvtoの話をしました。無事終わって良かったです。
https://rubykaigi.org/2019/presentations/yhara.html#apr19
スライドは https://route477.net/files/yhara_ovto_1.0.0_ja.pdf にあります。動画もそのうち上がると思います。