From: Mehdi Saada <00120260a@gmail.com>
Subject: Re: about inheritance of subtypes and entities (such as constants) related to a type in the same package
Date: Thu, 31 May 2018 16:39:50 -0700 (PDT)
Date: 2018-05-31T16:39:50-07:00 [thread overview]
Message-ID: <33e69ed1-d4ba-4fd9-9d82-5b7cb1971596@googlegroups.com> (raw)
In-Reply-To: <pepu3s$sdm$1@franka.jacob-sparre.dk>
The idea was to define for a given (private) type, a series of subtypes with different type invariant, or with or without unknown discriminants (the box), to provide specific variant of the same ADT.
I know now that is meant to be done through tagged types, and that subtypes are no good for that. But I would have liked a mechanism to generate, why deriving a new type from a parent, these tailored subtypes, with the same same, just like they would have been rewritten.
But it doesn't take much to see it wasn't a good idea, and that a lot problem would occur... like: what happens when the derived type has constraints or invariants incompatible with subtypes associated with the parent ?
I should say "Copying" rather than inheriting. "Copying" constants would fail for the same reason. I/one is better of with converting the constants defined once, for the whole type hierarchy. Though the problem is only with untagged types, tagged private types have class-wide constants.
next prev parent reply other threads:[~2018-05-31 23:39 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-26 16:14 about inheritance of subtypes and entities (such as constants) related to a type in the same package Mehdi Saada
2018-05-26 16:44 ` Mehdi Saada
2018-05-29 22:07 ` Randy Brukardt
2018-05-29 22:12 ` Randy Brukardt
2018-05-30 8:13 ` Dmitry A. Kazakov
2018-05-30 19:25 ` Randy Brukardt
2018-05-30 19:45 ` Dmitry A. Kazakov
2018-05-30 19:59 ` Randy Brukardt
2018-05-31 8:44 ` Dmitry A. Kazakov
2018-05-31 22:48 ` Randy Brukardt
2018-05-31 23:39 ` Mehdi Saada [this message]
2018-06-01 2:50 ` Shark8
2018-06-01 7:35 ` Dmitry A. Kazakov
2018-05-30 20:53 ` Dan'l Miller
2018-05-31 8:54 ` Dmitry A. Kazakov
2018-05-31 14:29 ` Dan'l Miller
2018-05-31 14:38 ` Dan'l Miller
2018-05-31 17:37 ` Dmitry A. Kazakov
2018-05-31 18:53 ` Dan'l Miller
2018-05-31 19:59 ` Dmitry A. Kazakov
2018-05-31 21:10 ` Dan'l Miller
2018-06-01 7:56 ` Dmitry A. Kazakov
2018-06-01 14:01 ` Dan'l Miller
2018-06-01 15:27 ` Dmitry A. Kazakov
2018-05-31 22:45 ` Randy Brukardt
2018-05-31 23:50 ` Dan'l Miller
2018-06-01 7:38 ` Dmitry A. Kazakov
2018-05-31 22:34 ` Randy Brukardt
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox