yhara.jp

Recent Posts

2020年6月 (Shiika 配列リテラル)

2020-07-02
Diary

6月の活動報告です。

Shiika

配列リテラルが動くようになった。いや、動くっていうと語弊があるな…、実はまだObjectのインスタンスしか要素に取れないのだ。今月はIntやStringなど任意のオブジェクトを入れられるようにする。その下準備として、Int/Floatを即値からllvm structに変更した。そうするとInt/Floatもポインタと同じ64bitサイズ(※64bit環境を想定)になるから、配列の要素は全部一個64bitとして扱えばよくて楽なのだ。

ちなみにサイズを64bitに揃える方法としては、llvm structにする以外に「ポインタへの埋め込み」という方法もある。GC_mallocで確保したメモリのアドレスの下2桁が00であると仮定してよいならば、最後を〜01、〜10、〜11のいずれかにすればポインタと衝突しないので、残りの62bitの部分に好きなデータを入れられるのである。

せっかくなので、Boolについてはこの方式を実装してみた。010をfalse、110をtrueとして、メモリ上ではこの値をBoolとして扱う。ただしLLVMの分岐命令などはi1を引数に取るから、適宜i64からi1に変換(box/unbox)してやる。埋め込みの実装は初めてだったけど、テストが通ってるのでちゃんと動いてるっぽい。

(more...)


2020年4月 (Shiikaレイトレ)

2020-05-06
Diary

先月の活動報告です。

Shiika

いろいろ機能を足して、レイトレのサンプルが動くようになった。ここまでは前作Esquisでもやったわけだが、IntとFloatの区別ができたり、文字列を扱えるようになっていたり、細かいところでいろいろ違いがある。

今月は何をやろうかなぁ。とりあえずgetter/setterを手で書くのが面倒なのでそのへんをなんとかするところかな。

(more...)

2020年3月 (BiwaScheme0.7.0リリース)

2020-04-04
Diary

3月の活動報告です。

BiwaScheme

BiwaScheme 0.7.0をリリースした。だいたい年1回くらいのスローペースでリリースしてるんだけど、調べてみると2019年は一回もリリースがなかった。年末にやっとけばよかったな。と思ったけど、dynamic-windが中途半端な状態だったので今年に伸ばしたのだった。

0.7.xでは今までやってなかったリファクタリングをしていきたい。手始めにビルドシステムをrollup.jsに移行することを考えている

Shiika

(more...)

2020年2月 (Ovto::Middleware)

2020-03-08
Diary

近況です。

Ovto::Middleware

2月はBiwaSchemeのリリースをするのと、Shiikaの続きをやろうかな。

と書いておきながら、思いつきで全然違う作業をしていた。アドカレに書いたようにOvtoで巨大なものを作ろうとすると名前空間の管理が大変になりそうという課題があったのだが、これをMiddlewareという仕組みで名前空間を分割できるようにした。

(more...)

2020年1月 (DXOpal)

2020-02-02
Diary

近況です。

DXOpal

1月は体調がだいぶ回復した。Pragmatic Opalの改訂版が出るということで、DXOpalの解説記事を書き下ろした。内容はお楽しみに。

これに伴いDXOpalにもいろいろ手をいれた。マルチタッチ対応とか。

dynamic-wind

(more...)




2019年10月 (Shiika 定数)

2019-11-03
Diary

近況です。

ISUCON2019 本戦出場

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

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

(more...)

Posts

(more...)

Articles

(more...)

Category

Ads

About

About the author