2021-10-27
MiscTwitterを見てたら、自作キーボード界隈からなにやら可愛いものの写真がRTされてきた。
なにこれかわいい。プラモ?いや、ガレージキットというものらしい。なるほど、パーツが送られてきて組み立ては自分でやると。「ピンバイス」なる工具が必要らしいが、ちょっと面白そうだな。
注文
2021-10-20
Event自作のプログラミング言語Shiikaの開発において、処理系Slackの定期ミートアップにはとても助けられています。今日はどんないいことがあるのかについて挙げてみます。
定期ミートアップとは
処理系Slackの有志でやっている、プログラミング言語処理系について話す会です。いまのところ隔週日曜日に開催されていて、持ち時間は1人15分。ただし全員が発表者なわけではありません。聞くだけでもOK。
YouTubeに動画があるのでそれを見てもらうと雰囲気がわかるかもしれません。
2021-10-03
Diary
パターンマッチの実装をしていた。ようやくバグが取れて、あともう少し整理したらマージできるかなというところ。いやー時間かかったなあ。なんでこれだけのことがこんなに時間かかるんだろう、と時々思うが、思っててもしょうがないので、一つ一つやっていくしかない。まあ9月は仕事が忙しかったし、体調も良くなかったし、そういう時もあるよね。
引き続き処理系Slackのみなさまには隔週で話を聞いてもらっている。ありがたいことです。
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();
2021-10-01
TechLLVMのエラーメッセージはあまり親切でない。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.
型が違うことはなんとか分かるが、せめて何と何だったのかくらいは教えてくれないとデバッグのしようがない。
2021-10-01
TechLLVMのフルビルドは長い。とても長い。
こういうことがあったのでbcをデコードするツール(llvm-dis)だけ自前ビルドしたかった。
結論からいうとこれでいけた。
githubのreleasesから.src.zipを取ってきて解凍
2021-09-06
Misc
Corne Chocolateを組み立てた。Corneシリーズのうち、Kailh Chocスイッチに対応した薄型バージョン。ChocだけにChocolateなのかな。
現在の仕事用メインキーボードとして使っている。オフィスではレツプリなんだけどテレワークなので、、、
Corneの感想
Corneシリーズを組み立てたのは初めてだけど、よく出来てるなあ…と思った。洗練されてるというか。例えばOLEDに押したとこのキーコードが出るんだよね。完成後はそんなに意味のない機能だけど、組み立て中の動作確認にはとても便利だった。
2021-09-05
Diary
毎年夏の間だけチャレンジしている構文木マクロの実装だが、ようやく「なんとかなりそう」な感じになってきた。
方針を立てたので、あとはぼちぼちやっていくだけ…ではあるけど、あくまでShiikaの方が優先なので、数年後くらいに形になればいいなあ、くらいに思っている。
2021-08-22
Techメモです。
いいこと聞いた。
BiwaSchemeはTS使ってないけど、JSDocの記法で型を書けばtscで型チェックできるってことか。