以下がK言語のHello, World!のソースコードです。
"Hello, World!"
K言語はAPLに影響を受けた言語です。
えーと……I, J, K言語の全てがAPLに影響を受けてますが、アルファベットのこの領域には謎の力が作用しているのでしょうか?
さて、K言語もJ言語と同様にAPLを参考にしつつも、ASCIIコード領域の文字だけでプログラミングできるように設計されています。
そのため、一つの記号が多重にオーバーロードされており、コンテキストによって処理がきまります。
例えば、以下のソースコードに3回登場する!は全て異なる意味を持ちます。
2!!7!4
K言語の演算子の評価は右から左なので、最初に 7!4 が評価されます。
ここでの ! の意味はモジュロ除算なので、7を4で割ったときの余りである3が結果になります。
次に、 2!!3 の !3 部分を評価します。ここでの ! は列挙の意味を持つため、 0 1 2 というリストが得られます。そして最後の ! は回転を意味するため、リストが2回左に回転されて、 2 0 1 が最終結果として得られます。
特殊記号だらけのAPLと比較して、どちらが読みやすいかと聞かれると困るところがありますが、個人的には文字数が多くなってもコンテキストに依存せずに処理内容が定まるAPLのほうが読みやすいように思えます。