2025-08-12: Marktoberdorf 7日目
やったこと
Marktoberdorf
2週目の2日目。
2週目の方が丁寧な講義が多くて分かりやすいような気がする。
久し振りにSAT Solverを作りたい気持ちになっている。
やってみるべきかもしれない。
Bolt
Boltというプログラミング言語がある。
実行速度をウリにしている組み込み向けの軽量な言語で、C言語で書かれていて、静的型付けとなっている。
個人的には静的型付けと軽量さは両立しないと思うのだが、速度のためなら価値があるのではないかとも思う。
ベンチマークが -joff
のLuaJITだからJITはまだ無いっぽい?
せっかくなのでQuineを書いてみた。
320言語目。
https://github.com/makenowjust/quine/blob/7292a9db3249cd1f64d2abc9843379a052902991/quine.bolt
ビルドが今のところx86, x86_64にしか対応していないようなので、Dockerで環境を用意してビルドする必要がある。
$ docker run -v .:/opt/bolt --rm --platform linux/amd64 -it ubuntu:25.04
# apt update && apt install build-essential cmake
# cd /opt/bolt
# mkdir build && cd build
# cmake .. && make
# bolt-cli/bolt-cli quine.bolt | diff quine.bolt -
この方向性の言語として他に daslang というのもあるらしい。
こちらも調べてQuineを書いてみたい。
ちなみに makenowjust/quine のちょうど1000コミット目だった。
https://x.com/make_now_just/status/1955180440177779071
あとなんとなくDeepWikiのページを作ってみた。
まあ別におかしなことは言っていない。