Loading article…
SAC(Single Assignment C )は、数値計算アプリケーションのニーズに焦点を当てて設計された、厳密な純粋関数型プログラミング言語です。データ並列処理による配列処理の効率的なサポートが重視されています。効率性に関する懸念は、主に2つあります。1つ目は、配列操作を高度な抽象度で指定できる機会を提供することで、プログラム開発の効率性を向上させることです。2つ目は、プログラム実行時の効率性、つまり時間とメモリ消費量におけるプログラムの実行時パフォーマンスを、高度なコンパイル方式によって実現することです。後者が成功して初めて、高レベルの仕様記述スタイルが実際に有用であると言えるのです。
効率的な実行可能コードへのコンパイルを容易にするため、数値計算アプリケーションには必須ではないと考えられる特定の関数型言語機能(例えば、高階関数、ポリモーフィズム、遅延評価など)は、SACでは(今のところ)サポートされていません。これらの機能は、 Haskell、Clean、Miranda、MLなどの汎用関数型言語ではサポートされています。
数値計算や配列を多用するアプリケーション向けに設計された他の関数型言語や配列ベースの言語(例:SISAL、NESL、Nial、APL、J、K)で発生する受け入れ上の問題を克服するために、 CやFortranのようなプログラミング環境からSACへの移行を容易にすることに特に重点が置かれています。
より詳細に言うと、SACの基本的な言語設計目標は以下のとおりです。
{{cite thesis}}: CS1メンテナンス: ISBNエラーを無視しました (リンク)