📑 Table of Contents

Chapel は、クレイ社によって開発されたプログラミング言語である[1]。この言語は今もなお「クレイ・カスケード・プロジェクト」として開発されている。もともと、このプロジェクトは米国国防高等研究計画局高生産性計算機システムプロジェクトの一部だったもので、その目標は、2010年までの間にスーパーコンピューターの生産性を改善するというものであった。Chapel が狙っているのは、並列計算機、とりわけ、Cascadeカスケードというシステムのプログラミング効率を改善することである。そのために、この言語では、既存のプログラミング言語よりも高い水準でアルゴリズムを表現することを可能にし、同時に、アルゴリズム表現とデータ構造の詳細な実装の分離性を高めている。

Chapel言語はデータやタスクの並列化や入れ子構造の並列化をする仕組みを備えている。これらは高水準のマルチスレッド並列プログラミングモデルを支援するものである。これらの仕組みによってデータの分配やデータ駆動による部分演算の割り当ては抽象化されるため、プログラム中のデータと演算の局所性の最適化が可能になっている。また、オブジェクト指向汎用プログラミングの仕組みによって、プログラムコードの再利用と汎用化も可能である。例えば、Chapel ではロケールを宣言することができる[2]

Chapel言語では先行する言語からアイデアを借用している。並列性に関する考え方で最も近いのは High Performance FortranZPL そして Cray MTAFORTRAN 拡張とC言語拡張である。

西暦2021年現在この言語は、Apache 2ライセンスの下、オープンソースのプロジェクトして開発が進行中である[3]

なお、言語の名前「Chapel」は「多段高生産性言語」を意味する英語「cascade high productivity language」にちなんで名付けられたものである。

脚注

編集
  1. ^ デビッド E. ライトフット 著、「Modular programming languages: 7th Joint Modular Languages Conference」、2006年、ISBN 3-540-40927-0、20ページ
  2. ^ Bongen Gu; Wikuan Yu; Yoonsik Kwak (June 28–30, 2011). Communication and Computation Overlap through Task Synchronization in Multi-locale Chapel Environment. In James J. Park, Laurence T. Yang and Changhoon Lee (ed.). Future Information Technology, Part I: 6th International Conference. ギリシャ Loutraki: シュプリンガー・フェアラーク. pp. 285–292. ISBN 978-3-642-22332-7. 2020年9月9日閲覧.
  3. ^ Chapel License Information

関連項目

編集

外部リンク

編集

📚 Artikel Terkait di Wikipedia

リファクタリング (プログラミング)

テスト駆動開発 難読コード(英語: obfuscated code) プリファクタリング(英語: prefactoring) 分解 (コンピュータ科学)(英語版)(英: decomposition) モジュラープログラミング(英語: modular programming) リファクタリング (データベース)

Rust (プログラミング言語)

Domains in Real Time”. OpenDNS Security Labs. 2016年3月19日閲覧。 ^ “Piston A modular game engine written in Rust”. Piston.rs. 2017年8月1日閲覧。 ^ Joseph Birr-Pixton

8P8C

positions, eight conductors" (8極8芯)の略であり、プラグ部とジャック部を総称して8P8Cモジュラーコネクタ (8P8C modular connector) とも呼ばれる。連邦通信委員会 (FCC) の Registered jack RJ45 規格と同一である。

アクターモデル

Scientific Community Metaphor(英語版) Erlang ^ Carl Hewitt(1973年), "A Universal Modular Actor Formalism for Artificial Intelligence". IJCAI. ^ a b c William Clinger(1981年6月)

精度保証付き数値計算

Elliptic Functions, Elliptic Integrals and Modular Forms. In Elliptic Integrals, Elliptic Functions and Modular Forms in Quantum Field Theory (pp. 269-293)

Modula-2

語で、構文の多くは同様にヴィルトの手掛けたPascal言語に基いたものとなっている。名前「Modula-2」は「モジュールの」を意味する英語「modular」に由来する。 Pascal との上位互換にはなっていない。Pascal にモジュールの概念を追加し、分割コンパイルやソフトウェア部品のライブ

クライスリ圏

psu.edu/viewdoc/summary?doi=10.1.1.31.2885  Sheng Liang , Paul Hudak, Modular Monadic Semantics, http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10

減算方式

Clark, 5.3 Synthesis of Gongs, Bells, and Cymbals, Advanced Programming Techniques for Modular Synthesizers, 2003年, 2014年8月17日閲覧. ^ 計測に関する知識, 方形波の性質と測定上の扱い