From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on ip-172-31-91-241.ec2.internal X-Spam-Level: X-Spam-Status: No, score=0.0 required=3.0 tests=none autolearn=unavailable autolearn_force=no version=4.0.1 Path: nntp.eternal-september.org!eternal-september.org!feeder.eternal-september.org!.POSTED!not-for-mail From: Paul Rubin Newsgroups: comp.lang.ada Subject: Re: In precision typing we trust Date: Mon, 25 Aug 2025 01:51:17 -0700 Organization: A noiseless patient Spider Message-ID: <87plcjn5ru.fsf@nightsong.com> References: <107uv9g$3019a$1@dont-email.me> <107v1ji$303of$1@dont-email.me> <336fbb5f-a279-ea8e-67fd-f62bb00d6a89@irrt.De> <107vfb9$34cpj$1@dont-email.me> <10855lq$gj8l$1@dont-email.me> <1088h1a$19635$1@dont-email.me> <1089p1i$1ig1d$1@dont-email.me> <108aq2p$1qo9o$1@dont-email.me> <108dh2l$2f5h3$1@dont-email.me> <108ej11$2mbr8$1@dont-email.me> <108g1fv$32gqg$3@dont-email.me> <108h6b7$3a75k$3@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain Injection-Date: Mon, 25 Aug 2025 08:51:18 +0000 (UTC) Injection-Info: dont-email.me; posting-host="2ef19b0472b0c1586bed7af09e450973"; logging-data="3489804"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+4NTfE7cPKX86VmPgD08c+" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) Cancel-Lock: sha1:lXgFHzCq2cL6idXZ6R09MU+3YZI= sha1:FeVF3kEiw+yQcAl9rulXS9PfsxM= Xref: feeder.eternal-september.org comp.lang.ada:66916 List-Id: "Dmitry A. Kazakov" writes: >> 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? Python metaclasses let you specify what is supposed to happen when you instantiate a class, and that sort of thing. I.e. it's about runtime behaviour. > Provided one could implement that thing (let's ignore pitiful Python), > What algorithmic problems one could solve with that? Types in general aren't for solving algorithmic problems. Thus the Turing tarpit. Types are for being able to enforce rules about program behaviour. This is still worth reading: https://cdsmith.wordpress.com/2011/01/09/an-old-article-i-wrote/