comp.lang.ada
 help / color / mirror / Atom feed
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


  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