yhara.jp

Recent Posts

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...)





2018年12月

2019-01-05
Diary

2018年最後の近況です。

アドカレ

12月はアドベントカレンダーの季節ということで、今年は主にOpalアドカレに記事を書いていた。こういうのとか。

それ以外の記事は以下。

(more...)

2018年11月

2018-12-06
Diary

近況です。

ydash

今月はrackやnokogiriなどのsecurity updateがあったが、自作のプロジェクトが増えてどれが引っかかったのか把握するのが大変になってきたので、簡単なダッシュボードアプリを作った。

Sinatraを使うとこういうのがさくっと作れて楽しい。ソースは https://github.com/yhara/ydash に置いてある。チェックにはbundler-auditを使っている。

(more...)

2018年10月

2018-11-04
Diary

Halite-III

少し前に記事にしたが、今月はHaliteというAIコンテストで遊んでいた。言語はいろいろ選べるが僕はRubyでやってる。AIプログラムを書いて送ると他の人との対戦が始まって、ブラウザ上で動いてるところが見えるというやつで、無限に時間が潰せそうでやばい。

一時は100位以内まで上がったけど、今は拠点周りの挙動を改善しようとしてスコアが落ちている。こればっかりやってても何だなと思うけど、開催期間が来年1月まであるので、気が向いたら直すかも。

AtCoder

(more...)


Posts

(more...)

Articles

(more...)

Category

Ads

About

About the author