Quine-relay Advent calendar Day -25: LOLCODE

ref: https://github.com/mame/quine-relay

Quine リレーに毎日 1 言語ずつ追加していくアドベントカレンダーをはじめます。

マイナス 25 日目の今日は、要望のあった LOLCODE を追加しました (51 言語目、コミット) 。LOLCODE は、lolcat がしゃべる変な英語で命令を書く難解プログラミング言語です。Hello, world はこんな感じ。

HAI
CAN HAS STDIO?
VISIBLE "HAI WORLD!"
KTHXBYE

コミットの通り、Quine リレーにはこの Hello, world を組み込んだだけです。しいて言えば、エスケープ文字がバックスラッシュではなくコロンなことが要注意。

企画について補足

以下の基準で言語を選びます。

  1. 有名*1な言語で、処理系のインストールが容易なこと
    • デフォルトの Ubuntu に処理系のパッケージがあれば OK (PPA は認めない)
    • 難解言語の場合、処理系が容易にバンドルできれば*2よいことにする
  2. 原則として、コマンドラインで指定したソース 1 つを読み込み、標準出力に次のプログラムをそのまま吐けること
    • ユーザとのインタラクションが必要なものはダメ (GUI とか。抑制できるオプションがあれば OK)
    • 複数のソースファイルを必要とするものはダメ
    • ソースファイル名は「QR.拡張子」または「qr.拡張子」とする

なお、条件を満たしていても、追加できない場合はあります。(例えば Malbolge は明らかに無理)

言語にはおおよそのあたりを付けてますが、多分予定通りには行かないと思うので、良さげな言語があったら教えてください。(特に Q で始まるやつ。QCL は出力の先頭に強制的にコロンが入るので使えない……)

*1:完全に自分の主観によります。

*2:ライセンスの明記されたそんなに大きくないパッケージがあること、または、Ruby で自作して 100 行くらいに収まること。