From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: border2.nntp.dca1.giganews.com!nntp.giganews.com!newspeer1.nac.net!newsfeed.xs4all.nl!newsfeed2.news.xs4all.nl!xs4all!news.stack.nl!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Ada 2012 Corrigendum Date: Fri, 12 Sep 2014 14:48:05 +0200 Organization: cbb software GmbH Message-ID: <1xqds9yahxk70$.9qxbh6rstb21$.dlg@40tude.net> References: Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: yj8+JIQUMOEawvIM7K49kA.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: 40tude_Dialog/2.0.15.1 X-Notice: Filtered by postfilter v. 0.8.2 Xref: number.nntp.dca.giganews.com comp.lang.ada:188982 Date: 2014-09-12T14:48:05+02:00 List-Id: On Thu, 11 Sep 2014 20:26:35 -0700, Shark8 wrote: > (2) An aspect indicating a function which is not-only pure, but static > -- intended to be computed at compile-time; this could, for example, be > used to make the formulae in the endian-independent paper ( > http://www.sigada.org/ada_letters/sept2005/Endian-Independent%20Paper.pdf ) > directly usable. > > Or should I submit these as AI entries? (In either case, what should I > do to get these addressed?) If you feel ready to formulate a comprehensive proposal, why not. Handling endianness promoted in the paper is IMO wrong. [*] Really important cases to consider are: 1. Handling static constraints. E.g. dimensioned arithmetic when the unit is statically known. All operations must evaluate units statically by static compile-time functions. [ The proposal should cover conversion of exceptions in static computations into compile-time errors. ] [ The proposal should provide means to declare statically constrained subtypes and objects with constraints evaluated at compile time from static constraints of the arguments of a *non-static* operations. ] Another example of this case is linear algebra package with matrix and vector types. The static constraint here is the dimension. 2. Initialization of complex structures at compile time. E.g. instantiation of a generic map with static keys and elements. Initialization of a constant array of strings etc. [ The proposal should cover the approach of handling compile-time dynamic memory allocation and pools. A compile-time pool becomes a constant initialized object at run-time. ] [ The proposal should deal with compile-time type declarations, inheritance and extension, as well as compile-time dynamic dispatch. ] Good luck. --------------------------- * For practical use the protocol always defines the exact endianness. Furthermore, the host types need not to map onto the representations "on-the-wire", it won't work in most real-life cases anyway. Serialize/deserialize problem-space type approach is safer and easier to implement. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de