2025-08-14: Marktoberdorf 9日目
やったこと
Marktoberdorf
昨日のexcursionであまりに消耗したため、完全にダメになっていた。
苦手なことはやるべきではない。
あと全体的に詳細すぎる話が多くてあまり学びがなかった。
しいて言うならsimplification orderingという言葉は覚えておきたいかな、くらい。
Daslang
daslangというプログラミング言語がある。
Gaijin EntertainmentというWar Thunderとかを開発したゲーム会社が作っているプログラミング言語。
組み込むことを想定して作られているのだけど、静的型付けになっている。
ただ、LLVMを使っていて、AOTとかもできるみたいなので、その辺はわりと実践的なのかもしれない。
アノテーションとか特徴的な機能は色々あるのだけど、ドキュメントが絶妙に足りなくてよく分からなかった。
元々Pythonのようなインデントベースの構文だったけど、最近 {...}
による構文になった模様。ただしフラグで切り替えられる‥‥はずなのだけど今一動かし方が分からなかった。
リポジトリはDaScriptという名前だったり、色々過渡期なのではないかとも思った。
ビルドはREADMEの通り。
$ mkdir -p build && cd build
$ cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo
$ cmake --build . --target daslang --config RelWithDebInfo
とりあえずQuineを書いてみた。
文字列がイテレートできるのは正しい挙動なのだろうか‥‥?
https://github.com/makenowjust/quine/blob/8a8e3fe9d8c8de3ad0fbff53bae7fa43a9ba3df3/quine.das
実行は dascript
コマンドで。
$ bin/dascript quine.das | diff quine.das -
Try It Onlineに様々な言語が増えている気がするので、ここからQuineのネタを拾ってきてもいいのかもしれない。