From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: SI Units Checked and Unchecked
Date: Fri, 10 Aug 2018 19:34:12 +0200
Date: 2018-08-10T19:34:12+02:00 [thread overview]
Message-ID: <pkkiaj$1059$1@gioia.aioe.org> (raw)
In-Reply-To: 99af08dd-39fb-4c1e-a247-eef9680a2abd@googlegroups.com
On 2018-08-10 19:04, Dan'l Miller wrote:
> On Friday, August 10, 2018 at 9:50:53 AM UTC-5, Dmitry A. Kazakov wrote:
>> In any Ada.
>
> … that you don't think that “Then we … class-wide cases” sentence is achievable at all in any derivative of Ada due to some fundamental flaw in Ada, and that a significantly not-Ada language is the only hope of achieving that sentence. Why so?
No language change can make dynamic cases static.
What the language can is to make dynamic cases type-safe, which Ada
already does.
Where Ada fails is in smooth transition between dynamic and static and
support for user-defined semantics in static cases. E.g. in order to
handle units statically we need user-defined static operations to
compute the constraint of the result from the constraints of the
arguments in dimensioned numeric operations. We need a mechanism to
split an operation like "/" into a static part that computes the new
constraint (unit) and a dynamic part that computes the value.
This is a much more general issue than measurement units. The same thing
is required to have static initialization of objects like constant
look-up tables and maps, components of records, array elements. This is
why I keep on saying that it is not about an AI on measurements units,
it is about empowering the type system to make it capable to express
complex structures like dimensioned types.
ARG should take the problem seriously. See where ad-hoc hacking the
language led us. Dynamic predicates and expression functions do not
solve the problem yet significantly damaged the language. Ada 2020 will
have array initialization constructs. The price of hacking.
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2018-08-10 17:34 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-09 12:44 SI Units Checked and Unchecked AdaMagica
2018-08-09 13:47 ` Dan'l Miller
2018-08-09 14:07 ` Dmitry A. Kazakov
2018-08-09 15:03 ` Dan'l Miller
2018-08-09 15:51 ` Dmitry A. Kazakov
2018-08-09 17:32 ` Dan'l Miller
2018-08-09 19:42 ` Dmitry A. Kazakov
2018-08-09 22:12 ` Dan'l Miller
2018-08-10 6:45 ` Dmitry A. Kazakov
2018-08-10 13:59 ` Dan'l Miller
2018-08-10 14:50 ` Dmitry A. Kazakov
2018-08-10 17:04 ` Dan'l Miller
2018-08-10 17:34 ` Dmitry A. Kazakov [this message]
2018-08-11 4:42 ` Paul Rubin
2018-08-11 5:46 ` Dmitry A. Kazakov
2018-08-11 19:57 ` Paul Rubin
2018-08-11 21:01 ` Dmitry A. Kazakov
2018-08-09 18:47 ` Paul Rubin
2018-08-09 19:13 ` Dan'l Miller
2018-08-09 14:31 ` AdaMagica
2018-08-09 15:19 ` Dan'l Miller
2018-08-09 16:07 ` Jeffrey R. Carter
2018-08-09 17:41 ` AdaMagica
2018-08-09 20:34 ` Jeffrey R. Carter
2018-08-10 9:13 ` AdaMagica
2018-08-10 20:20 ` Jeffrey R. Carter
2018-08-13 8:57 ` AdaMagica
2018-08-20 17:55 ` AdaMagica
2019-09-04 14:20 ` Shark8
2019-09-04 17:11 ` AdaMagica
2019-09-06 21:01 ` Shark8
2020-08-13 12:24 ` SI Units Checked and Unchecked - Completela overhauled version AdaMagica
-- strict thread matches above, loose matches on Subject: below --
2003-02-05 7:03 SI Units Checked and Unchecked Grein, Christoph
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox