※一部、英文及び仏文を自動翻訳した日本語訳を使用しています。
序文
ISO (国際標準化機構) と IEC (国際電気標準会議) は、世界標準化のための専門システムを形成しています。 ISO または IEC のメンバーである国家機関は、技術活動の特定の分野を扱うために、それぞれの組織によって設立された技術委員会を通じて、国際規格の開発に参加しています。 ISO と IEC の技術委員会は、相互に関心のある分野で協力しています。 ISO および IEC と連携して、政府および非政府の他の国際機関もこの作業に参加しています。
国際規格は、ISO/IEC 指令で指定された規則に従って起草されます。 3.
情報技術の分野では、ISO と IEC は合同技術委員会 ISO/IEC JTC 1 を設立しました。合同技術委員会によって採択された国際規格の草案は、投票のために各国の機関に回覧されます。国際規格として発行するには、投票を行う国の機関の少なくとも 75% による承認が必要です。
この国際規格の一部の要素が特許権の対象となる可能性があることに注意してください。 ISO および IEC は、そのような特許権の一部またはすべてを特定する責任を負わないものとします。
国際規格 ISO/IEC 13751 は、合同技術委員会 ISO/IEC JTC 1, 情報技術、小委員会 SC 22, プログラミング言語、その環境、およびシステム ソフトウェア インターフェイスによって作成されました。
附属書 A は、この国際規格の規範的な部分を形成します。
序章
APL は プログラミング言語の 略です。これは、1950 年代後半に KE アイバーソンがアルゴリズムの記述のために発明した表記法であり、アイバーソンと彼の同僚である Adin Falkoff, Larry Breed, Dick Lathwell, Roger Moore によって拡張され、プログラミング システムAPL \360 になりました。 -1960年代。
このドキュメント、 プログラミング言語 APL, 拡張 は、 プログラミング言語 APL 、ISO 8485 (1989) の続編です。
読者がここで見つける主な違いは、追加された新機能に関係しています。これらのトピックは次のとおりです。
- それなし
- 最大公約数
- 最小公倍数
- 複製
- 通勤
- テーブル
- 最初の軸に沿って結合
- 混合配列
- 名前のオーバーバー
- 名前の下線
- 複製する
- キャラクターグレード
- ランク 1 より大きい配列の等級
- 個性的
- 名前としてのアルファ
- オメガという名前
- あいまいに定義された関数
- イベント処理
- n ワイズ リダクション
- 複雑な演算
- 左
- 正しい
- 関数ランク演算子
- 定義された演算子
- コンポーネントファイルシステム
- 同封する
- 開示
- 入隊する
- 選ぶ
- 深さ
- 同一
- 各
- 初め
これらの各トピックのエントリは、索引にあります。いくつかの新しいシステム コマンドが追加されました。共有変数拡張機能が追加されました。 Workspace Interchange Standard 2 が提供され、一般化された配列を表すためにタイプ「E」の正規表現ベクトルが使用されます。
1 スコープ
この国際標準は、プログラミング言語 APL と、APL プログラムが実行される環境を定義します。その目的は、交換を促進し、APL プログラムとプログラミング スキルの移植性を促進することです。この国際標準は、APL プログラムの構文とセマンティクス、および APL プログラムが実行される環境の特性を指定します。
また、適合する実装を意味のある形で比較できるように、実装プロパティの値と特性の公開を含め、この国際規格への適合要件も指定します。
この国際規格は、次のことを規定していません。
- 使用する特定の機器またはオペレーティング システムによって異なる可能性が高い実装プロパティ。
- APLワークスペースサイズや数値精度などの実装制限に必要な値;
- APL オブジェクトを表すために使用されるデータ構造。
- 共有変数を通じて利用できる機能。
2 参考文献
次の規範文書には、このテキストで参照することにより、この国際規格の規定を構成する規定が含まれています。日付の記載された参考資料については、これらの刊行物に対するその後の修正または改訂は適用されません。ただし、この国際規格に基づく協定の当事者は、以下に示す規範文書の最新版を適用する可能性を調査することをお勧めします。日付のない参照については、参照されている規範文書の最新版が適用されます。 ISO および IEC のメンバーは、現在有効な国際規格の登録簿を維持しています。
- ISO/IEC 2382-15:1999, 情報技術 — 語彙 — 15: プログラミング言語。
- ISO 8485:1989, プログラミング言語 — AP
- エスケープ シーケンスで使用されるコード化文字セットの国際レジスタ、登録文字セット 68 。 ( http://www.itscj.ipsj.or.jp/ISO-IR/068.pdf )
参考文献
| Hart, J.F.、「 コンピュータ近似 」、Robert C. Krieger Publishing Company, ニューヨーク州ハンティントン。 1978年 | |
| Iverson, KE, A Programming Language , John Wiley and Sons, Inc., 1962. | |
| マサチューセッツ州ジェンキンス、「ドミノ - 行列反転のための APL プリミティブ関数 - その実装とアプリケーション」、 APL Quote-Quad 3, 4, 1972 年 2 月、pp 4-1 | |
| Knuth, DE, Seminumerical Algorithms , Addison-Wesley Publishing Company, Menlo Park, CA, 1969. | |
| McDonnell, EE, 「Complex Floor」、 APL Congress 73 、North-Holland Publishing Co.、1973 年。 | |
| National Bureau of Standards Handbook of Mathematical Functions 、米国政府印刷局、ワシントン DC, 1964 年。 | |
| ペンフィールド、ポール、「複雑な APL におけるプリンシパル値とブランチ カット」、APL81 会議議事録、 APL Quote-Quad 12, 1, 1981 年 9 月、pp 248-256 | |
| Smith, HJ Jr., “Sorting–A New/Old Problem”, APL79 Conference Proceedings, APL Quote-Quad 9 , 1, June 1979, pp 123-127 | |
| Woodrum, LJ, 「最小限の比較による内部ソート」、 IBM System Journal 、Vo 3, pp 189-203, 1969. |
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Commission) form the specialized system for worldwide standardization. National bodies that are members of ISO or IEC participate in the development of International Standards through technical committees established by the respective organization to deal with particular fields of technical activity. ISO and IEC technical committees collaborate in fields of mutual interest. Other international organizations, governmental and non-governmental, in liaison with ISO and IEC, also take part in the work.
International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, 3.
In the field of information technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1. Draft International Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as an International Standard requires approval by at least 75 % of the national bodies casting a vote.
Attention is drawn to the possibility that some of the elements of this International Standard may be the subject of patent rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights.
International Standard ISO/IEC 13751 was prepared by Joint Technical Committee ISO/IEC JTC 1, Information technology, Subcommittee SC 22, Programming languages, their environments and system software interfaces.
Annex A forms a normative part of this International Standard.
Introduction
APL stands for A Programming Language . It is a notation invented by K. E. Iverson in the late 1950s for the description of algorithms, and expanded on and made into the programming system APL\360 by Iverson and his colleagues Adin Falkoff, Larry Breed, Dick Lathwell, and Roger Moore in the mid-1960s.
This document, Programming Language APL, Extended , is a sequel to Programming Language APL , ISO 8485 (1989).
The principal differences that the reader will find here have to do with new features that have been added. These topics are:
- without
- greatest common divisor
- least common multiple
- duplicate
- commute
- table
- join along first axis
- mixed arrays
- overbar in names
- underbar in names
- replicate
- character grades
- grades of arrays greater than rank one
- unique
- alpha as a name
- omega as a name
- ambivalent defined functions
- event handling
- n-wise reduction
- complex arithmetic
- left
- right
- function rank operator
- defined operators
- component file system
- enclose
- disclose
- enlist
- pick
- depth
- identical
- each
- first
An entry for each of these topics will be found in the index. Some new system commands have been added. Shared variable extensions have been added. Workspace Interchange Standard 2 is given, in which canonical representation vectors of type “E” are used to represent generalised arrays.
1 Scope
This International Standard defines the programming language APL and the environment in which APL programs are executed. Its purpose is to facilitate interchange and promote portability of APL programs and programming skills. This International Standard specifies the syntax and semantics of APL programs and the characteristics of the environment in which APL programs are executed.
It also specifies requirements for conformance to this International Standard, including the publication of values and characteristics of implementation properties so that conforming implementations can be meaningfully compared.
This International Standard does not specify:
- implementation properties that are likely to vary with the particular equipment or operating system used;
- required values for implementation limits such as APL workspace size or numeric precision;
- the data structures used to represent APL objects;
- the facilities available through shared variables.
2 Normative References
The following normative documents contain provisions which, through reference in this text, constitute provisions of this International Standard. For dated references, subsequent amendments to, or revisions of, any of these publications do not apply. However, parties to agreements based on this International Standard are encouraged to investigate the possibility of applying the most recent editions of the normative documents indicated below. For undated references, the latest edition of the normative document referred to applies. Members of ISO and IEC maintain registers of currently valid International Standards.
- ISO/IEC 2382-15:1999, Information technology — Vocabulary — 15: Programming languages.
- ISO 8485:1989, Programming languages — APL.
- International Register of Coded Character Sets To Be Used With Escape Sequences, Registered character set 68. ( http://www.itscj.ipsj.or.jp/ISO-IR/068.pdf )
Bibliography
| Hart, J. F., Computer Approximations , Robert C. Krieger Publishing Company, Huntington, NY. 1978. | |
| Iverson, K. E., A Programming Language , John Wiley and Sons, Inc., 1962. | |
| Jenkins, M. A., “Domino—An APL Primitive Function for Matrix Inversion—Its Implementation and Applications”, APL Quote-Quad 3 , 4, February 1972, pp 4-15. | |
| Knuth, D. E., Seminumerical Algorithms , Addison-Wesley Publishing Company, Menlo Park, CA, 1969. | |
| McDonnell, E. E., “Complex Floor”, APL Congress 73 , North-Holland Publishing Co., 1973. | |
| National Bureau of Standards Handbook of Mathematical Functions , U. S. Government Printing Office, Washington DC, 1964. | |
| Penfield, Paul, “Principal Values and Branch Cuts in Complex APL”, APL81 Conference Proceedings, APL Quote-Quad 12 , 1, September 1981, pp 248-256 | |
| Smith, H. J. Jr., “Sorting–A New/Old Problem”, APL79 Conference Proceedings, APL Quote-Quad 9 , 1, June 1979, pp 123-127 | |
| Woodrum, L. J., “Internal Sorting with Minimal Comparing”, IBM System Journal , Vol. 8, No. 3, pp 189-203, 1969. |