2024-12-03: DAY 3 - Arturo (Quine AC 2024)
DAY 3
Arturo というプログラミング言語があります。
LogoやRebolの影響を受けたというプログライング言語で、:
で代入や [ ... ]
のブロック構文などが特徴な気がします。
Rebolっぽいのだけど、Rebolほど原理主義じゃない感じ。
Homebrewでインストールできるので動かすのは簡単。
Quineは do
で Eval相当のことができるのでそれを使いました。
ただ、ブロックを渡すと再帰的に参照してるせいかエラーになるので文字列にしています。
{: ... :}
というのが文字列リテラルの一種になっています。
あと、render
という面白い機能があるのだけど、こっちも展開が再帰的に行なわれるせいで止まらなくなるので諦めました。
s: {:print ["s:" "{:"++s++":"++"}" "do s"]:} do s