2024-12-16: DAY 16 - Picat (Quine AC 2024)
DAY 16
Picatという言語があります。
論理型の言語です。Prolog系です。
色々機能があって、制約ソルバ的なこともできるっぽいです。
printf
があったのでQuineはそれでやりました。
ドキュメントが微妙に信じられなくて、エスケープシーケンスの仕様が書いてあるのと違って困ったりしていた。
地味に.pi
という拡張子をこれまで使っていなかったことに驚いていた。
main =>
[Q, B] = "\"\\",
S = "main =>%n [Q, B] = %c%c%c%c%c%c,%n S = %c%s%c,%n printf(S, Q, B, Q, B, B, Q, Q, S, Q).%n",
printf(S, Q, B, Q, B, B, Q, Q, S, Q).
実行は picat
コマンドを叩く。
$ picat quine.pi | diff quine.pi -