Loading article…
| パラダイム | マルチパラダイム:オブジェクト指向、関数型、命令型、依存型、論理 |
|---|---|
| デザイン: | リチャード・ディミック・ジェンクス、バリー・トレーガー、スティーブン・ワット、ジェームズ・ダヴェンポート、ロバート・サター、スコット・モリソン |
| 開発者 | トーマス・J・ワトソン研究センター |
| 初登場 | 1990年 |
| 安定リリース | 1.0.3
|
| プレビューリリース | 1.1.0
|
| プラットフォーム | 公理コンピュータ代数システム |
| OS | Linux、Solaris、Windows |
| ライセンス | アルドールパブリック 2.0、Apache 2.0 |
| ファイル名拡張子 | .al、.as |
| Webサイト | アルドール |
| 主な実装 | |
| 公理コンピュータ代数システム | |
| 影響を受けた | |
| A#、パスカル、ハスケル | |
Aldorはプログラミング言語です。[1] [2] [3] Axiomコンピュータ代数システムの拡張言語としてA#の後継です。
Aldorは命令型、関数型、オブジェクト指向の機能を兼ね備えています。精巧な型システム[4]があり、型を第一級の値として使用することができます。Aldorの構文はPascalの影響を強く受けていますが、 Pythonのように空白文字とオフサイドルールを使用して、オプションでインデントを区別します。現在の実装ではコンパイルされていますが、対話型リスナーが提供されています。
Aldor は、 Apache License 2.0に基づいて、無料のオープンソース ソフトウェアとして配布されています。
例
Hello world プログラムは次のようになります。
#include "アルドール" #include "アルドリオ"
stdout << "Hello, world!" <<改行;
依存タイプの例 (ユーザー ガイドより):
# include "aldor" # include "aldorio" #パイル
sumlist ( R: ArithmeticType 、l : List R ) : R == s : R := 0 ; x in lの場合、s := s + x sを繰り返します。
ListからのインポートInteger 、Integer 、List SingleFloat 、SingleFloat stdout << sumlist ( Integer 、[ 2 、3 、4 、5 ]) <<改行stdout << sumlist ( SingleFloat 、[ 2.0 、2.1 、2.2 、2.4 ]) <<改行
# "aldor"を含める# "aldorio"を含める
Integer 、Stringからインポートします。
bob ( n : Integer ) : String == { b : String := "ボトル" ;
n ~= 1 の場合、b := b + "s" ; b + " of beer" ; }
main () : () == { n : Integer := 99 ; otw : String := " 壁に " ;
-- n > 0の間は控えるrepeat { stdout << n << bob ( n ) << otw << ", " << n << bob ( n ) << "." << newline ; stdout << "Take one down and pass it around, " ; n := n - 1 ; if n > 0 then stdout << n ; else stdout << "no more" ; stdout << bob ( n ) << otw << "." << newline ; stdout << newline ; }
-- 最後の詩
stdout << "もうない" << bob ( n ) << otw << "、もうない" << bob ( n ) << "." <<改行; stdout << "店に行って、もう少し買ってきて、" ; n : Integer := 99 ; stdout << n << bob ( n ) << otw << "." <<改行; }
主要();
参考文献
- ^ Gerdt, Vladimir P.; Koepf, Wolfram; Mayr, Ernst W.; Vorozhtsov, Evgenii V. (2010 年 9 月 7 日)。科学計算におけるコンピュータ代数: 第 12 回国際ワークショップ、CASC 2010、ツァハドゾル、アルメニア、2010 年 9 月 6 日 - 12 日、議事録。Springer。ISBN 978-3-642-15274-0. 2023年7月5日閲覧。
- ^ キルヒナー、ヘレン、リンガイセン、クリストフ(2006 年 12 月 30 日)。結合システムのフロンティア:第 3 回国際ワークショップ、FroCoS 2000 ナンシー、フランス、2000 年 3 月 22 ~ 24 日議事録。Springer。ISBN 978-3-540-46421-1。
- ^ ケルバー、マンフレッド、コールハース、マイケル(2001年4月2日)。シンボリック計算と自動推論:CALCULEMUS-2000シンポジウム。CRC Press。ISBN 978-1-4398-6423-4. 2023年7月5日閲覧。
- ^ 「Aldorプログラミング言語」。Aldor.org 。2017年2月12日閲覧。
外部リンク
- 公式サイト
- オープンソース開発 - Git リポジトリ
- Aldor ユーザーガイド
