AAPLは嫌いですが、APLが好き

Posted on December 25, 2022

アップルを一齧り

今日はクリスマス、みなさんいかがおすごしでしたか。

僕はモニタと向かい合い、滑らかなキーボードをなぞりながら、この文章を書いています。

なぜか中国では、クリスマスイブに身近な人に林檎を送るという文化ができています。

消費主義の罠をはいえ、林檎とクリスマス、因縁がないわけでもないじゃないでしょうか。

というわけで、今日はAPLの話をさせていただきたいと思います。

APL logo Source

このでかい緑色のリンゴは、有志が作ったAPLの非公式ロゴでございます。

APLというのは、うん、A Programming Language、すなわち、とはるプログラミング言語です。

ちなみに、当表記はこいつの公式フルネームに一番近い名称らしいです。ほかに Array Processing Language などとも呼ばられているのですが。

では、早速存在しない本題にはいりましょう。

環境構築

キーボード

まずはキーボード(入力方式)の追加です。

ちょ、キーボード?どゆこと?プロブラミングじゃないの?

うん、なぜなら、APL は

こんな感じで書くのです。

fib←{⍵≤1:⍵ ⋄ (∇ ⍵-1)+∇ ⍵-2} ⍝ フィボナッチ数 https://rosettacode.org/wiki/Fibonacci_sequence#APL

かわいいでしょう。

ですので、これらAPLグリフと呼ばれる記号たちを入力するため、なんらかの入力方式が必要です。コピペとかでもいいですが、キーボードを追加しましょう。

こんなわけのわからんキーボートなんか OS が対応してないですと?だからLinux を使えと言ったじゃないですか。

実行環境

現時点で、 APL をやってる人たちはだいたい Dyalog APL という方言および実装を使ってるらしいです。僕的にできればオープンソースの GNU APL でやりたいのですが、仕様結構違うんですので、 Dyalog APL を使います。

個人利用であれば無料なんでちゃちゃとインストールしてきましょう。 Try APL というブラウザー上で実行できるやつもありますので、ちょいお試しならこちらがよいのでしょう。

僕の環境では、 .NET 7 がはいてるせいか、 dyalog を実行すると、出力が狂ってて .NET 3.1.0 がないと怒られました。 DYALOG_NETCORE0 に設定して無効にするすれば解消できます。

お触り近視

この意味のわからない文章をここまでも読んできたら、、 とある言語 を触ってみましょう。

実行環境を開いて、ここのコードを入力して、ENTER にパンチをしましょう。これで fib 関数が定義され、使えるようになります。

生命、宇宙、そして万物についての究極の疑問の答えを入れて計算してみましょう。

fib 42

究極の疑問の答ですので大変時間がかかります。しばらくは終らないでしょう。呪文みたいなコートと睨めっこしてい近視になりそうな時間、その虚無さ、僕のクリスマスと同じで、僕は好きです。

ちなみに、 Dyalog を閉じたい場合、⎕OFF を実行すればよいのです。

究極の疑問の答えはありるが、あの問題は?

なにを聞こうかは知っています。

面白さには理由も意味もいらない

ということです。

もっと、もっと

クリスマスももう終りですので、ひとりぼっちではない僕も、キーボードを叩くのを終らせたいと思います。

あなたもきっとこのギャンカワ言語に興味を興味が湧いてきたのでしょう。なので、いくつか APL の資料を載せておきます。

  1. APL 教材個人一推し Learn APL
  2. 1980年にカシオが日立評論に寄稿した論文 https://www.hitachihyoron.com/jp/pdf/1980/12/1980_12_15.pdf
  3. APL Wiki 文字通り
  4. APL CART 見ればわかる