2026-07-18: 関西Ruby会議09だった
やったこと
関西
朝4時起きして、朝一の新幹線で京都に行き、関西Ruby会議09に参加している。
https://regional.rubykaigi.org/kansai09/
ちゃんと滋賀県に来たのは初めてかもしれない。
会場はいい感じの雰囲気の場所だった。
能楽堂いいなぁ。
全体的にものを作っている人が多いのが良かった。
去年も言ったかもしれないな。
Tya
Tyaというプログラミング言語がある。
駒形さんという方が作っている、インデントベース・コンパイルされるプログラミング言語。
設計思想とかはブログ記事に書かれている。
C言語に変換されてコンパイルされているっぽい?
フォーマッタを標準搭載している。
当初はcanonical syntaxという、format後のソースコードしか受け入れないことにしていたみたいだけど、今はフォーマッタが決定論的に動くことだけを重要にしているっぽい。
まあ妥当な判断な気がする。
配列リテラルが改行後にインデントで並べていくだけで書けたりする。
つまり次の s1 と s2 が同じ値になる。
s1 = ["foo", "bar"]
s1 =
"foo"
"bar"
あまりインデントベースの言語は好きではないのだけど、書いてみると独特の気持ち良さがあった。
ただちょっとエラーメッセージが分かりにくく感じる。
というわけでQuineを書いた。
https://github.com/makenowjust/quine/blob/9894bb621b500ef10da6f741bc761f0fcef20055/quine.tya
こんな感じに実行する。
$ tya run quine.tya | diff quine.tya -
あと、formatしても変わらないようにもしておいた。
$ tya format quine.tya | diff quine.tya -
配列の区切り文字などが無いのでとくに苦労せず書ける。
json パッケージは使わなくても別に書けるのだけど、使える機能は使いたいのでこうなった。
文字列の補間とかも使うべきだったかもしれない。
何はともあれ321言語目。
久し振りの更新となった。