2024-12-24: DAY 24 - Fennel (Quine AC 2024)
DAY 24
Fennelというプログラミング言語があります。
Lisp系の言語です。Luaとして実行されているっぽい気がします。
名前がいいですね。
(: foo :bar ...)
はLuaの foo:bar(...)
として解釈されるっぽいです。
あとはpretty printが view
という名前だということを突き止めてQuineができました。
(local fennel (require :fennel))
(let [s "(local fennel (require :fennel))
(let [s %s]
(print (: s :format (fennel.view s))))"]
(print (: s :format (fennel.view s))))
実行は fennel
コマンドで。
$ fennel quine.fnl | diff quine.fnl -