急性前骨髄性白血病
apl
Apl
APL
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2026/10/23 08:59 UTC 版)
|
|
この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 (2020年6月)
|
| パラダイム | 配列処理 |
|---|---|
| 登場時期 | 1964年 |
| 設計者 | ケネス・アイバーソン |
| 開発者 | ケネス・アイバーソン |
| 型付け | 動的型付け |
| 主な処理系 | IBM APL2, Dyalog APL, APL2000, Sharp APL, GNU APL |
| 方言 | A+, Dyalog APL, APLNext |
| 影響を受けた言語 | 数学の表記法 |
| 影響を与えた言語 | J, Mathematica |
APL(エーピーエル)は、プログラミング言語のひとつで、1957年のケネス・アイバーソンによる創案に基づいた独特の表記法を用いる。処理系の実装は、ほとんどが対話型インタプリタである。とくに多次元配列の柔軟な処理が特徴である。「APL」は「プログラミング言語」(a programming language) の略であるが、言語の特性から、ときに「配列処理言語」(array processing language) などとされる。
概要
APLは他の多くのプログラミング言語と異なり、「APL記号」と呼ばれる特殊な記号を用いるが、これにより計算式をきわめて簡潔(過ぎるほど)に記述できる。
特殊な記号の扱いに関しては、キーボードからの入力については、これを支援するためキートップに貼るシールや交換用キーキャップ、はては専用キーボードもある。情報交換用ないし計算機の内部表現としては、従来は1バイトの文字コードを切り替えるなどしていたが、Unicodeでは「その他の技術用記号」(Miscellaneous Technical)に収録された(U+2336~U+237A)。出力は、初期にはIBM Selectricタイプライタのゴルフボール状のタイプボールを専用のものに取り替えて印字された。DOS/Vの、グラフィックによる文字表示環境を利用した処理系が作られたこともあった。現在は(新しく実装されたりしたものでは)前述のUnicodeフォントが使われる。
APLではプログラムを非常に簡潔に記述できるが、その反面、可読性に乏しく、「書き込み専用メモリ」というジョーク由来の「書き込み専用プログラム」とか、「他人の書いたものを修正するくらいであれば、新たに書き起こす方が速い」と言われることもある。
1957年に創案された記法は、1962年に著書 "A Programming Language" として発表された。続いて1964年にプログラミング言語処理系として実装された。1966年にはIBM System/360上のOS、OS/360上での処理系の実装の(インタラクティブ環境を含む)APL\\360 が発表された。
APLはタイムシェアリングシステムで利用できる対話型インタプリタのある言語として注目を集めた。しかしながら、FORTRANほどに普及することはなかった。
マイクロコンピュータからホームコンピュータ の時代にはCP/M(CP/M80)上に構築した APL\\80 があり、端末によってはAPL記号を扱うことが可能であった。
1976年にビル・ゲイツが書いた「ホビイストたちへの公開状」には、ゲイツがIntel 8080やMC6800向けのAPLを作成中だが、完成しても違法コピーされるためホビイストには提供できないと書かれている[1]。しかし、結局完成はしなかった。
日本では、日本IBMからの販売の他、1980年代に株式会社アンペールからノート型のAPLマシン"WS-1"が発売された。
APLを発展させた言語に、Jがある。主な変更点の1つに、ASCIIだけで表記するようにした点が挙げられる。
演算機能
APLは他のプログラミング言語と比べ特徴的な演算機能を持つ。特に(他にはPL/Iなどで見られるが)スカラ値だけではなく配列も、式中の演算の直接の対象にできるという原始的なジェネリックプログラミングの機能がある点と、w:Fold (higher-order function)等に類似した高階関数に相当する機能がある点が特徴である。ここではAPLの基本的な演算機能について述べる。
関数と作用子
それぞれ英語ではfunctionとoperatorで、ここでは訳語は日本APL協会が配布している三枝協亮訳「APL2の紹介」のそれに従っている。APLでは、前置演算子ないし中置演算子のように使う記号列を「関数」、関数を対象として操作する高階関数の意味をもつ記号列を「作用子」という。高階関数をoperatorとするのは、解析学における作用素から来ており、作用子の語も「作用素」から来ている。
右から左
まず、四則演算の関数を中置で使う例から始める。一般の算術の式では、![]()
APL
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/09/06 16:36 UTC 版)
APL, 言語では実行中の dfn を ∇ で参照できる。 {0=⍵:1 ⋄ ⍵×∇ ⍵-1} 5120 {0=⍵:1 ⋄ ⍵×∇ ⍵-1}¨ ⍳10 ⍝ applied to each element of 0 to 91 1 2 6 24 120 720 5040 40320 362880
※この「APL」の解説は、「無名再帰」の解説の一部です。
「APL」を含む「無名再帰」の記事については、「無名再帰」の概要を参照ください。
固有名詞の分類
- APLのページへのリンク
