yhara.jp

Recent Posts

今年飲んだクラフトビール

2021-12-29
Food

去年はHazy IPAを初めて飲んだということもあり海外ビールをいろいろ試してたのだが、海を超える都合上お値段が張るわりに「普通に美味いが、リピートするほどではないかな」というパターンが多く、今年は国内のを選ぶことが多かった。

ヒノブルーイング クダリスタウト / HINO Brewing KUDARI STOUT

今年のベストビール。美味しかったな〜。スタウト以外もぜんぶ美味しかった。伝統に敬意を表しつつ、新しい試みも取り入れるというバランス感覚がとても好みです。わがふるさと滋賀県のブルワリーなのも推しポイント。

ディレイラブリューワークス 西成 ライオットエール (Derailleur Brew Works / Nishinaari RIot Ale)

しばらくHazyとかサワーエールに寄っていたのを、「やっぱ苦いビールっていいな…」と思わせてくれた一本。うまいもんはなんぼあってもいいですからね〜。

(more...)

2021年11月 (Shiika crate分割など)

2021-12-06
Diary

Shiika

今月はコンパイラ全体が一つのRust crateになっていたのを、いくつかのcrateに分割した。依存関係が各ディレクトリのCargo.tomlに明示されるので、だいぶ構成がわかりやすくなったんじゃないかな。

その過程で、一部のメソッドをRustで実装するように変更した。前は「LLVM IRのコードを生成するRustのコードで実装する」というややこしいことをしていたので、これもわかりやすくなったはず。

続・incremental games

引き続き放置ゲームのブームが来てる。11月はFE000000とCalculator Evolutionを完走した。FE000000、一貫してクールで格好良かったなあ。Calculator Evolutionは終盤がちょっとだるかったけど、閾値を超えたときのフィーバー感はピカイチ。

(more...)

2021年10月 (放置ゲームなど)

2021-11-10
Diary

Shiika

(more...)

ドラネッツ組み立てた

2021-10-27
Misc

Twitterを見てたら、自作キーボード界隈からなにやら可愛いものの写真がRTされてきた。

なにこれかわいい。プラモ?いや、ガレージキットというものらしい。なるほど、パーツが送られてきて組み立ては自分でやると。「ピンバイス」なる工具が必要らしいが、ちょっと面白そうだな。

注文

(more...)

処理系ミートアップのいいところを書く

2021-10-20
Event

自作のプログラミング言語Shiikaの開発において、処理系Slackの定期ミートアップにはとても助けられています。今日はどんないいことがあるのかについて挙げてみます。

定期ミートアップとは

処理系Slackの有志でやっている、プログラミング言語処理系について話す会です。いまのところ隔週日曜日に開催されていて、持ち時間は1人15分。ただし全員が発表者なわけではありません。聞くだけでもOK。

YouTubeに動画があるのでそれを見てもらうと雰囲気がわかるかもしれません。

(more...)

2021年9月 (Shiika パターンマッチ)

2021-10-03
Diary

Shiika

パターンマッチの実装をしていた。ようやくバグが取れて、あともう少し整理したらマージできるかなというところ。いやー時間かかったなあ。なんでこれだけのことがこんなに時間かかるんだろう、と時々思うが、思っててもしょうがないので、一つ一つやっていくしかない。まあ9月は仕事が忙しかったし、体調も良くなかったし、そういう時もあるよね。

引き続き処理系Slackのみなさまには隔週で話を聞いてもらっている。ありがたいことです。

(more...)

error: Invalid instruction with no BB

2021-10-01
Tech

自作言語の開発中、LLVMが以下のメッセージを吐いて死ぬのを調査したメモ。 ./bin/llvm-dis: error: Invalid instruction with no BB (Producer: 'LLVM12.0.1' Reader: 'LLVM 12.0.1')

このメッセージで検索すると lib/Bitcode/Reader/BitcodeReader.cpp がヒット

    if (!CurBB) {
      I->deleteValue();
(more...)

LLVM本体にデバッグログを入れる

2021-10-01
Tech

LLVMのエラーメッセージはあまり親切でない。Rustの異常な親切さに慣れてきたのでそう思うのかもしれないが。

例えばllvm-disの出したエラーがこれ:

Assertion failed: (InitVal->getType() == getValueType() && "Initializer type must match GlobalVariable type"), function setInitializer, file /Users/yhara/research/llvm-12.0.1.src/lib/IR/Globals.cpp, line 405.

型が違うことはなんとか分かるが、せめて何と何だったのかくらいは教えてくれないとデバッグのしようがない。

(more...)

LLVMの特定のツールだけビルドする

2021-10-01
Tech

LLVMのフルビルドは長い。とても長い。

こういうことがあったのでbcをデコードするツール(llvm-dis)だけ自前ビルドしたかった。

結論からいうとこれでいけた。

githubのreleasesから.src.zipを取ってきて解凍
(more...)

Corne Chocolateを組み立てた

2021-09-06
Misc

Corne Chocolateを組み立てた。Corneシリーズのうち、Kailh Chocスイッチに対応した薄型バージョン。ChocだけにChocolateなのかな。

現在の仕事用メインキーボードとして使っている。オフィスではレツプリなんだけどテレワークなので、、、

Corneの感想

Corneシリーズを組み立てたのは初めてだけど、よく出来てるなあ…と思った。洗練されてるというか。例えばOLEDに押したとこのキーコードが出るんだよね。完成後はそんなに意味のない機能だけど、組み立て中の動作確認にはとても便利だった。

(more...)

Posts

(more...)

Articles

(more...)

Category

Ads

About

About the author