Ada 202x (追記1) - 未解決問題 ============================= .. post:: Jan 16, 2020 :tags: ada, ada_2022 .. role:: strike あれはどうなったの?集。 このページは妄想でできています。 Ada 2005からの宿題 ------------------ John Barnes先生の `Rationale for Ada 2005`_ で未解決として挙げられているやつはどうなったのでしょうか。 Aggregates for private types Ada 202xで実現。 Partial generic instantiation ``struct T { std::vector children; }`` をしたい。 進展なし。 超欲しい。 Support for IEEE 559: 1989 NaNやInfを扱いたい。 進展なし。 Defaults for generic parameters ``generic`` の引数をサブプログラム以外も省略できるようにしたい。 :strike:`提案はされましたが未採択。` Ada 202xで型については実現。 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 202xで実現。 Shorthand for assignments Ada 202xで実現。 わたし気になります集 -------------------- 手前味噌ながら\ `Ada 2012 with Technical Corrigendum 1のときに書いたlanguage updateスライド `_\ で触れたやつ。 上と重複するものは除いてあります。 Generic formal record types 侵入型リンクリストをライブラリ化したい。 未採択。 Index parameters in array aggregates Ada 202xで実現。 Static expression functions Ada 202xで実現。 制限がきついので今後も緩和されていって欲しいです。 (ちなみに\ `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`` は再考されろーされろー。 (願望。) .. _`Rationale for Ada 2005`: https://www.adaic.org/resources/add_content/standards/05rat/html/Rat-TOC.html .. _`Rationale for Ada 2012`: http://www.ada-auth.org/standards/12rat/html/Rat12-TOC.html