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: Tue, 26 Aug 2025 17:00:58 -0700 Organization: A noiseless patient Spider Message-ID: <878qj5my4l.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> <108ijfj$3lihe$4@dont-email.me> <108jqcg$3ti12$2@dont-email.me> <87cy8im3kc.fsf@nightsong.com> <108kp8k$5pr0$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain Injection-Date: Wed, 27 Aug 2025 00:00:59 +0000 (UTC) Injection-Info: dont-email.me; posting-host="c9601a46be86ed9ad9d92dce671c5f73"; logging-data="384533"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX199RPW/BFHHlC2xjP3kWwwE" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) Cancel-Lock: sha1:D7CT+2B1SCzsJt05Yhbe0Mlf63M= sha1:kQ0+6Kde005apIjkLq+FFuc1QTg= Xref: feeder.eternal-september.org comp.lang.ada:66932 List-Id: Kevin Chadwick writes: > Wouldn't that make Python slow and unreliable? It's slow but that's due to the rather simple implementation. SBCL Common Lisp is reasonably fast. Python is reasonably reliable in the sense that programs with errors will probably crash instead of going off into the weeds. The saying is that correct code is great, code that crashes could use improvement, but incorrect code that keeps running and delivering wrong results is a disaster. Joe Armstrong (inventor of Erlang) also liked to say that there is no such thing as a reliable non-distributed system, since the power cord is a single point of failure By that standard, Ada isn't so reliable either. [Dmitry A. Kazakov writes:] > The error occurred inside the body of F. F itself was successfully > called, because it is untyped. Just as I said. F didn't encounter a type error until it tried to do arithmetic on its argument. If it instead called its argument based on some decision, that wouldn't have been a type error. You don't get to decide whether that counts as a type system or not. It's just a coarser version of Ada doing runtime checks on array subscripts and integer overflow, instead of statically verifying that they are in range (a proof system like Agda would consider those to also be type errors). Same article I posted before, "What to know before debating type systems": https://blogs.perl.org/users/ovid/2010/08/what-to-know-before-debating-type-systems.html