Ada 2020 (追記1) - 未解決問題

あれはどうなったの?集。 このページは妄想でできています。

Ada 2005からの宿題

John Barnes先生の Rationale for Ada 2005 で未解決として挙げられているやつはどうなったのでしょうか。

Aggregates for private types

Ada 2020で実現。

Partial generic instantiation

struct T { std::vector<T> children; } をしたい。 進展なし。 超欲しい。

Support for IEEE 559: 1989

NaNやInfを扱いたい。 進展なし。

Defaults for generic parameters

generic の引数をサブプログラム以外も省略できるようにしたい。 提案はされましたが未採択。

Pre/post-conditions for subprograms

Ada 2012で実現。

Type and package invariants

Ada 2012で実現。

Exceptions as types

例外表す型が欲しい。 進展なし。

Sockets operations

ソケット欲しい。 進展なし。

In out parameters for functions

Ada 2012で実現。

Application defined scheduling

スケジューリング戦略をユーザー定義したい。 進展なし。

Ada 2012からの宿題

同じくJohn Barnes先生の Rationale for Ada 2012 で未解決とされているやつ。

Integrated packages

OCamlの include 。 進展なし。 超欲しい。

Cyclic fixed point

mod型みたいな固定小数点型。 進展なし。

Global annotations

Ada 2020で実現。

Shorthand for assignments

Ada 2020で実現。

わたし気になります集

手前味噌ながら Ada 2012 with Technical Corrigendum 1のときに書いたlanguage updateスライド で触れたやつ。 上と重複するものは除いてあります。

Generic formal record types

侵入型リンクリストをライブラリ化したい。 未採択。

Index parameters in array aggregates

Ada 2020で実現。

Static expression functions

Ada 2020で実現。 制限がきついので今後も緩和されていって欲しいです。

(ちなみに Ada 2012のときに書いたlanguage update スライド もあります。)

加えて今回提案され残念ながら採択されなかったもの。 ボツ案の中で言えばpassive taskは超欲しいですね。

Passive tasks

状態遷移機としてコンパイルされる task 。 procedural iteratorに敗北しました。

The co-derivation problem

複数の関連する型を関係をそのままに派生したい。 type My_Vector, My_Cursor is new Float_Vectors.Vector with private, Float_Vectors.Cursor; みたいな。 これがないと大量の renames やラッパーが必要になることがあります。 未採択。

Generalize prefix views

tagged型以外でもドット記法。 ドット記法のためだけに tagged にするのはデメリットも大きいです。 未採択。

あと個人的には「衝突して同時に実装できない interface 」の存在が確定してしまったのは割と残念ですのでこうなるとやっぱりDelphiやC#のメソッド解決節みたいな衝突回避の手段は欲しいなあ、みたいな。

Stable_Properties は再考されろーされろー。 (願望。)