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!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: =?UTF-8?B?QmrDtnJu?= Persson Newsgroups: comp.lang.ada Subject: Re: In precision typing we trust Date: Fri, 29 Aug 2025 17:30:21 +0200 Message-ID: <20250829173021.53befdce@tag.xn--rombobjrn-67a.se> 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> <108ijfj$3lihe$4@dont-email.me> <108jqcg$3ti12$2@dont-email.me> <87cy8im3kc.fsf@nightsong.com> <108kp8k$5pr0$1@dont-email.me> <878qj5my4l.fsf@nightsong.com> <20250828142557.1ec4a637@tag.xn--rombobjrn-67a.se> <108qkci$1kvjl$1@dont-email.me> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Trace: individual.net 9mf8bh+dQUybvDhYrfWsTgNl32bLeUcwXbT3diwKcCMEzk5Kju Cancel-Lock: sha1:hBT8lPlsJ2OKmPwi8MXgi/lSD8I= sha256:VUNFTdWLBE+Lw7pWMsXv+ksjdC+Ta7Iz0HtBpiKer4c= X-Newsreader: Claws Mail 4.3.1 (GTK 3.24.43; x86_64-redhat-linux-gnu) Xref: feeder.eternal-september.org comp.lang.ada:66995 List-Id: Lawrence D=E2=80=99Oliveiro wrote: > Shouldn=E2=80=99t your test harness have had something like >=20 > assert isinstance(result_of_test, bool), \ Nope. The Python interpreter should, at a minimum, have done that as part of its implementation of the if statement. But you already understood that much; you're just wilfully refusing to get the point. A better design would have checked the type at compile time. Then the tester who wrote "false" would have fixed their mistake right away, and learned from it. I mean, you do know which newsgroup it is you're promoting Python in. Programmers are human. Humans make mistakes. A well-designed programming language helps the programmer avoid mistakes as much as possible, and to discover their mistakes as early as possible. Languages that go out of their way to interpret an obvious mistake as a valid program are prone to what Paul called disaster. Bj=C3=B6rn Persson