From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: In precision typing we trust
Date: Mon, 25 Aug 2025 10:19:50 +0200 [thread overview]
Message-ID: <108h6b7$3a75k$3@dont-email.me> (raw)
In-Reply-To: <108g1fv$32gqg$3@dont-email.me>
On 2025-08-24 23:50, Lawrence D’Oliveiro wrote:
> On Sun, 24 Aug 2025 10:37:53 +0200, Dmitry A. Kazakov wrote:
>
>> Well, I maintain Ada Python bindings. When I looked at Python "derived"
>> types in its API, I was astounded by a total lack of inheritance.
>
> Don’t know what you mean.
https://docs.python.org/3/c-api/type.html
PyType_FromSpec etc.
> Python not only has inheritance, it has full
> multiple inheritance with C3 linearization.
No members are inherited. E.g. in Ada
type T is tagged record
M : Integer;
end record;
type S is new T with record -- S is derived from T
N : Float;
end record;
declare
X : S;
begin
X.M := 1; -- M is inherited
https://stackoverflow.com/questions/10064688/cant-access-parent-member-variable-in-python
Not to say that nothing is checked etc. Expecting that from an untyped
language would be silly anyway.
But in OO it is incorrect to inherit covariant methods with arguments in
the out or in-out mode, for example methods returning the type from the
class:
function Covariant return T;
This would be broken for obvious reasons. So in a properly typed OO
language, like Ada, you will be required to override Covariant upon
derivation from T:
overriding
function Covariant return S;
> It also has metaclasses.
> Because classes, like functions, are first-class objects.
A useless thing in an untyped language and in general one should first
question what could be the purpose of a set of a set of types? Provided
one could implement that thing (let's ignore pitiful Python), What
algorithmic problems one could solve with that?
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2025-08-25 8:19 UTC|newest]
Thread overview: 125+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-18 10:29 In precision typing we trust Kevin Chadwick
2025-08-18 11:08 ` Dmitry A. Kazakov
2025-08-18 13:59 ` Niocláisín Cóilín de Ghlostéir
2025-08-18 15:03 ` Dmitry A. Kazakov
2025-08-18 22:52 ` Niocláisín Cóilín de Ghlostéir
2025-08-19 6:24 ` J-P. Rosen
2025-08-19 7:29 ` Dmitry A. Kazakov
2025-08-20 0:41 ` Lawrence D’Oliveiro
2025-08-20 15:49 ` Kevin Chadwick
2025-08-20 19:00 ` Dmitry A. Kazakov
2025-08-20 0:40 ` Lawrence D’Oliveiro
2025-08-20 13:59 ` Niocláisín Cóilín de Ghlostéir
2025-08-20 14:58 ` Dmitry A. Kazakov
2025-08-20 17:18 ` Niocláisín Cóilín de Ghlostéir
2025-08-20 19:04 ` Dmitry A. Kazakov
2025-08-20 20:38 ` Niocláisín Cóilín de Ghlostéir
2025-08-20 21:59 ` Lawrence D’Oliveiro
2025-08-20 23:37 ` Niocláisín Cóilín de Ghlostéir
2025-08-21 21:37 ` Lawrence D’Oliveiro
2025-08-21 1:31 ` Keith Thompson
2025-08-20 18:10 ` Niklas Holsti
2025-08-20 18:54 ` Kevin Chadwick
2025-08-22 1:27 ` Alastair Hogge
2025-08-22 12:49 ` Kevin Chadwick
2025-08-22 22:13 ` Lawrence D’Oliveiro
2025-08-22 23:21 ` Niocláisín Cóilín de Ghlostéir
2025-08-23 22:58 ` Lawrence D’Oliveiro
2025-08-24 8:37 ` Dmitry A. Kazakov
2025-08-24 11:05 ` Niocláisín Cóilín de Ghlostéir
2025-08-24 12:59 ` Dmitry A. Kazakov
2025-08-24 21:51 ` Lawrence D’Oliveiro
2025-08-24 21:50 ` Lawrence D’Oliveiro
2025-08-25 8:19 ` Dmitry A. Kazakov [this message]
2025-08-25 8:51 ` Paul Rubin
2025-08-25 10:41 ` Dmitry A. Kazakov
2025-08-25 17:12 ` Paul Rubin
2025-08-25 20:09 ` Dmitry A. Kazakov
2025-08-25 21:13 ` Lawrence D’Oliveiro
2025-08-26 7:59 ` Dmitry A. Kazakov
2025-08-27 0:13 ` Lawrence D’Oliveiro
2025-08-27 7:39 ` Dmitry A. Kazakov
2025-08-27 23:10 ` Lawrence D’Oliveiro
2025-08-27 23:49 ` Dmitry A. Kazakov
2025-08-28 0:35 ` Lawrence D’Oliveiro
2025-08-28 7:54 ` Dmitry A. Kazakov
2025-08-28 8:50 ` Kevin Chadwick
2025-08-28 9:02 ` Dmitry A. Kazakov
2025-08-25 21:27 ` Paul Rubin
2025-08-26 7:27 ` Lawrence D’Oliveiro
2025-08-25 21:10 ` Lawrence D’Oliveiro
2025-08-26 8:14 ` Dmitry A. Kazakov
2025-08-26 16:48 ` Paul Rubin
2025-08-26 17:01 ` Kevin Chadwick
2025-08-26 19:43 ` Dmitry A. Kazakov
2025-08-27 0:00 ` Paul Rubin
2025-08-27 0:14 ` Lawrence D’Oliveiro
2025-08-27 7:51 ` Dmitry A. Kazakov
2025-08-27 20:45 ` Keith Thompson
2025-08-28 8:38 ` Dmitry A. Kazakov
2025-08-28 9:00 ` Von Ottone
2025-08-27 23:16 ` Lawrence D’Oliveiro
2025-08-28 8:48 ` Dmitry A. Kazakov
2025-08-29 3:57 ` Lawrence D’Oliveiro
2025-08-29 7:53 ` Dmitry A. Kazakov
2025-08-30 22:29 ` Lawrence D’Oliveiro
2025-08-31 8:56 ` Dmitry A. Kazakov
2025-08-28 12:25 ` Björn Persson
2025-08-28 22:14 ` Lawrence D’Oliveiro
2025-08-29 15:30 ` Björn Persson
2025-08-30 3:34 ` Lawrence D’Oliveiro
2025-08-30 8:49 ` Kevin Chadwick
2025-08-30 22:34 ` Lawrence D’Oliveiro
2025-08-27 0:09 ` Lawrence D’Oliveiro
2025-08-27 9:06 ` Kevin Chadwick
2025-08-26 19:36 ` Dmitry A. Kazakov
2025-08-27 0:10 ` Lawrence D’Oliveiro
2025-08-27 7:57 ` Dmitry A. Kazakov
2025-08-27 23:12 ` Lawrence D’Oliveiro
2025-08-28 0:07 ` Dmitry A. Kazakov
2025-08-28 0:38 ` Lawrence D’Oliveiro
2025-08-28 8:00 ` Dmitry A. Kazakov
2025-08-26 9:06 ` Dmitry A. Kazakov
2025-08-23 0:26 ` Kevin Chadwick
2025-08-23 22:59 ` Lawrence D’Oliveiro
2025-08-23 23:58 ` Kevin Chadwick
2025-08-24 21:49 ` Lawrence D’Oliveiro
2025-08-25 8:19 ` Dmitry A. Kazakov
2025-08-25 20:58 ` Lawrence D’Oliveiro
2025-08-27 9:01 ` Kevin Chadwick
2025-08-27 9:24 ` Dmitry A. Kazakov
2025-08-27 23:07 ` Lawrence D’Oliveiro
2025-08-28 0:00 ` Dmitry A. Kazakov
2025-08-28 0:22 ` Lawrence D’Oliveiro
2025-08-28 0:11 ` Kevin Chadwick
2025-08-28 0:20 ` Kevin Chadwick
2025-08-28 0:33 ` Lawrence D’Oliveiro
2025-08-28 1:17 ` Alex // nytpu
2025-08-28 1:45 ` Lawrence D’Oliveiro
2025-08-28 8:24 ` Dmitry A. Kazakov
2025-08-29 3:53 ` Lawrence D’Oliveiro
2025-08-29 8:07 ` Dmitry A. Kazakov
2025-08-30 22:27 ` Lawrence D’Oliveiro
2025-08-31 9:15 ` Dmitry A. Kazakov
2025-08-28 9:17 ` Kevin Chadwick
2025-08-29 3:51 ` Lawrence D’Oliveiro
2025-08-29 9:27 ` Kevin Chadwick
2025-08-29 9:33 ` Kevin Chadwick
2025-08-30 6:21 ` Lawrence D’Oliveiro
2025-08-31 0:43 ` Kevin Chadwick
2025-08-31 7:30 ` Lawrence D’Oliveiro
2025-08-31 8:51 ` Kevin Chadwick
2025-08-28 9:04 ` Kevin Chadwick
2025-08-29 3:55 ` Lawrence D’Oliveiro
2025-08-29 9:41 ` Kevin Chadwick
2025-08-30 3:31 ` Lawrence D’Oliveiro
2025-08-28 9:05 ` Kevin Chadwick
2025-08-28 9:43 ` Dmitry A. Kazakov
2025-08-29 3:54 ` Lawrence D’Oliveiro
2025-08-29 8:15 ` Dmitry A. Kazakov
2025-08-30 22:25 ` Lawrence D’Oliveiro
2025-08-31 9:26 ` Dmitry A. Kazakov
2025-08-28 0:30 ` Lawrence D’Oliveiro
2025-08-20 19:10 ` Niocláisín Cóilín de Ghlostéir
2025-08-18 23:27 ` Lawrence D’Oliveiro
2025-08-18 23:46 ` Kevin Chadwick
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox