From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: array from static predicate on enumerated type
Date: Sat, 13 Mar 2021 09:04:51 +0100 [thread overview]
Message-ID: <s2hrn2$3ee$1@gioia.aioe.org> (raw)
In-Reply-To: 6ca041f3-2669-4497-9548-2f17666702a6n@googlegroups.com
On 2021-03-13 03:06, Matt Borchers wrote:
> I pretty much agree with Dmitry on this. The usefulness of this is very, very low without better support from the language itself. However, Dmitry, if programmers should not consider a feature of a language as an option for a solution, then it begs the question on the quality of the language, quality of the compiler, or questions the abilities of caretakers of Ada. Don't get me wrong, however, I think Ada is exceptional.
Subtyping is a very difficult problem. When a new type is created by
constraining [*] this necessarily breaks things.
Ada 83 was very careful to limit that to ranges and discriminant values.
That breaks, sure, but the damage is minor and can be controlled [by the
programmer]. In contrast, an arbitrary constraint [as well as arbitrary
extension] is like a carpet bombing.
My view, as a programmer, is that features of type algebra [which
subtyping by constraining is] must be carefully limited to enable
massive language support in detection of substitutablity issues at
*compile* time. Features must be reasonably safe to use.
----------------------------------
* Sorry, guys, Ada subtypes are types.
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2021-03-13 8:04 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-12 20:49 array from static predicate on enumerated type Matt Borchers
2021-03-12 21:22 ` Egil H H
2021-03-12 22:16 ` Jeffrey R. Carter
2021-03-12 22:41 ` Dmitry A. Kazakov
2021-03-13 2:06 ` Matt Borchers
2021-03-13 4:55 ` Randy Brukardt
2021-03-15 14:16 ` Matt Borchers
2021-03-15 17:53 ` Shark8
2021-03-16 6:58 ` Randy Brukardt
2021-03-13 8:04 ` Dmitry A. Kazakov [this message]
2021-03-15 14:11 ` Matt Borchers
2021-03-15 17:48 ` Shark8
2021-03-15 20:25 ` Dmitry A. Kazakov
2021-03-16 13:27 ` Shark8
2021-03-16 14:25 ` Dmitry A. Kazakov
2021-03-17 4:05 ` Matt Borchers
2021-03-17 7:08 ` Dmitry A. Kazakov
2021-03-17 18:44 ` Matt Borchers
2021-03-17 19:41 ` Dmitry A. Kazakov
2021-03-18 1:30 ` Matt Borchers
2021-03-18 8:20 ` Dmitry A. Kazakov
2021-03-19 0:10 ` Matt Borchers
2021-03-19 8:00 ` Dmitry A. Kazakov
2021-03-18 10:15 ` Niklas Holsti
2021-03-18 10:47 ` AdaMagica
2021-03-18 11:26 ` Dmitry A. Kazakov
2021-03-19 0:34 ` Matt Borchers
2021-03-19 0:49 ` Jeffrey R. Carter
2021-03-23 1:07 ` Matt Borchers
2021-03-23 3:43 ` Randy Brukardt
2021-03-22 19:09 ` Niklas Holsti
2021-03-17 15:08 ` Shark8
2021-03-17 19:08 ` Matt Borchers
2021-03-17 20:41 ` Shark8
2021-03-18 1:04 ` Matt Borchers
2021-03-18 14:25 ` Shark8
2021-03-18 23:36 ` Matt Borchers
2022-03-16 0:38 ` Thomas
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox