yhara.jp

Recent Posts



2019年10月 (Shiika 定数)

2019-11-03
Diary

近況です。

ISUCON2019 本戦出場

10月頭はISUCON本戦のために新宿まで行ってた。予選の規模もすごかったけど、本戦ではこの32チームのために予選とは全く違う問題が作られていて、本当に運営がすごいと思う。ありがとうございました。

結果は13位…なのだけど、実をいうと終了10分前からベンチマークのFailが連発しており、あわやNo Scoreかと思われたのだった。ので順位がついて良かったなあというのが正直な気持ち。

(more...)


2019年8月 (syntax-case実装)

2019-08-31
Diary

近況です。

syntax-case

BiwaSchemeにsyntax-caseを実装した。まだ基本的なケースだけしかサポートしていないので本体にマージしていないが、とりあえず現時点のものはここにある。

シンボルを自動でリネームする機構("Beautiful Code"に載ってるやつ)までは何年か前に実装していたのだけど、それを一歩進めて、define-syntax + syntax-caseで(簡単な)マクロが定義できるようにした。おぼろげに「パターンマッチを実装する」という作業だと想像していたのだけど、それに加えて「マクロ展開時にScheme式を実行できるようにする」という作業があった。このあたりの話は月報ではとても書ききれないので、別途記事にしたい。

どうして数年ぶりに作業を再開したのかというと、define-syntaxないのと聞かれたからという単純なものである。まあ中途半端な状態で放置してたのがずっと気になってたというのもあるけどね。

(more...)

2019年7月 (Shiika コード生成)

2019-07-31
Diary

近況です。

Shiika

7月は主にShiikaのLLVM IR生成をやっていました。.llファイルの書き方は知っていても、それをinkwell(あるいはLLVM C API、あるいはLLVM C++ API)で出力する方法が分からなくて手間取ったりしましたが、だいぶ慣れてきて、Boehm GCでオブジェクト用のメモリをアロケートするところまでできました。あとはnewとinitializeを実装すればShiikaオブジェクトを実体化できるようになって、動くものが増えるはずです。

…と思ったのですが、p foo().bar がパースエラーになるのをきっかけにパーサ沼にはまってしまい、昔のRubyのparse.yを調べたりしていました。なんとなく分かってきたので、次の作業はこれを実装することになりそうです。

(more...)




Posts

(more...)

Articles

(more...)

Category

Ads

About

About the author