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: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: In precision typing we trust Date: Thu, 28 Aug 2025 11:43:15 +0200 Organization: A noiseless patient Spider Message-ID: <108p8bi$16qn1$6@dont-email.me> 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> <108b1r3$1sj3c$1@dont-email.me> <108dh4t$2f5h3$2@dont-email.me> <108dkik$2g20p$1@dont-email.me> <108g1cg$32gqg$2@dont-email.me> <108h6b0$3a75k$2@dont-email.me> <108iiq5$3lihe$3@dont-email.me> <108mhhk$j2jt$1@dont-email.me> <108mis1$j4cj$1@dont-email.me> <108o33p$vok4$5@dont-email.me> <108o6rp$10njb$1@dont-email.me> <108o7cm$10qct$1@dont-email.me> <108o845$10pj9$3@dont-email.me> <108p65h$17vk1$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Thu, 28 Aug 2025 09:43:15 +0000 (UTC) Injection-Info: dont-email.me; posting-host="6f970729dc22bef6d204ec8c3c6ab955"; logging-data="1272545"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/bjK/YQXy7wp/9C8AzjrL/XQoI1eOHvSY=" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:bxsG89Jz0BsORd5ToMey5d84YMo= In-Reply-To: <108p65h$17vk1$1@dont-email.me> Content-Language: en-US Xref: feeder.eternal-september.org comp.lang.ada:66971 List-Id: On 2025-08-28 11:05, Kevin Chadwick wrote: >> But can you do type checking dynamically, at run-time? >> > > 'Valid Except that this is not checking of the type, which is not possible on fundamental grounds. It is checking a value of an object for constraints. That a value might violate the constraints is itself a result of type violation when the value was coerced to the type by an operation not defined on the type, e.g. per Unchecked_Conversion or memory mapping. But the point you make is correct it is same as Python's "type checking," namely lets take something apparently untyped and see if that thing could pass for the given type. In Python everything is untyped even when type annotations are used. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de