From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FROM,HTML_MESSAGE,MAILING_LIST_MULTI, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 23000 invoked from network); 3 Aug 2023 15:21:13 -0000 Received: from minnie.tuhs.org (50.116.15.146) by inbox.vuxu.org with ESMTPUTF8; 3 Aug 2023 15:21:13 -0000 Received: from minnie.tuhs.org (localhost [IPv6:::1]) by minnie.tuhs.org (Postfix) with ESMTP id B3618415A5; Fri, 4 Aug 2023 01:21:08 +1000 (AEST) Received: from mail-oi1-x233.google.com (mail-oi1-x233.google.com [IPv6:2607:f8b0:4864:20::233]) by minnie.tuhs.org (Postfix) with ESMTPS id BB933415A2 for ; Fri, 4 Aug 2023 01:20:58 +1000 (AEST) Received: by mail-oi1-x233.google.com with SMTP id 5614622812f47-3a3373211a1so812797b6e.0 for ; Thu, 03 Aug 2023 08:20:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1691076057; x=1691680857; h=content-transfer-encoding:mime-version:message-id:references :in-reply-to:user-agent:subject:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=sjzr6S3WWZOcRTT4M8utDvoNnrEIz0uWFasPfp7BO/M=; b=HF+wxIxKXxeJxl/h9lCGY51bU5fmn05YxGzpRrSnCvw2HLQEqaUxc2ShNzSfAO9/hy U7NvCsF6I89bUZw73aPpYss1RYixLZJXzl5EmVNSk5HqQe9uzMNoo/m0zy25ERLdC1He Jqhqj0OfqANMJTULytUMbHLZ83VHg+sD3SQhTvb7PtTxldu3BhRF2pPc0TwlkVyVIixD kOyKPf4Q0PhFlNHLfYNMxn1fPYIBfsDL6I9rKsQRoY90eb6Prvu8I+acrh1BfwTLsHDS Q/tKJR/e6LuMQOtnlZkWvjD3BiG9pyBNqDkWTmKEELmGjCyZne7ETao83869VgjBuZj1 i/2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691076057; x=1691680857; h=content-transfer-encoding:mime-version:message-id:references :in-reply-to:user-agent:subject:to:from:date:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=sjzr6S3WWZOcRTT4M8utDvoNnrEIz0uWFasPfp7BO/M=; b=iE/xm+mSekyG3WM9iUxnEJZ8dz0MQIMd6cIpr1d738s6apXlParm+Md93EiAplH0d1 tSmHwCnMe1NbnzQIRIJ9/vGwdQACboBg2dxg1KuyWYXRnU+7m4YDKhB/u8fsxI6ZYmOQ aWoBDRTzeCeHzfvNGy6D1QeyM0BS8MGznvaYxlhVjwlsVIJQMis5EVW3i34+iCg5TvuQ jds2OIuE/oP9I2b9gpoHrMGsCqgkRm4vhsGVkWIDEgqO8BFzmsWX88RPNTMUIudaFzl/ hqAp6tkX4t9Y6JL53b541dcFdAvIAbUBOPkrt1CFQBWF3TwIE53gdnGH/zOZY1MMa2z/ DorA== X-Gm-Message-State: ABy/qLZAj64Fw7cxeMTLeGCYjkakKPC3Th2nT5sgVO8jxjbhXRxA3Dq1 MqE/tTFXU7G5urnsU2gvpHRRz4k5yBc= X-Google-Smtp-Source: APBJJlHz7fJr/33PRcIr0IhbBFcf6Y3Z0WyfQqBOueoCUu43n7fPjBG7rqgH4mQ56eBvw/Qu1ssuBw== X-Received: by 2002:a05:6808:14c8:b0:3a4:17cd:dd31 with SMTP id f8-20020a05680814c800b003a417cddd31mr25015539oiw.14.1691076057391; Thu, 03 Aug 2023 08:20:57 -0700 (PDT) Received: from ?IPv6:::1? ([2600:381:1491:9e32:4c3e:44c1:c9d8:6157]) by smtp.gmail.com with ESMTPSA id v15-20020a056808004f00b003a37372e6b2sm3534015oic.21.2023.08.03.08.20.56 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 03 Aug 2023 08:20:56 -0700 (PDT) Date: Thu, 03 Aug 2023 10:20:53 -0500 From: "will.senn@gmail.com" To: tuhs@tuhs.org, Dan Halbert User-Agent: Mail for Android In-Reply-To: <1f043101-4dbb-34ff-b037-85e7cc707a6e@halwitz.org> References: <8246.1690761540@cesium.clock.org> <29602.1690887524@cesium.clock.org> <20230803005106.GA12652@mcvoy.com> <1f043101-4dbb-34ff-b037-85e7cc707a6e@halwitz.org> Message-ID: <2BF7ADB4-4851-4CF5-A6AC-0F1079D4AF78@gmail.com> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary=----RN8UR9I0H2562K7WGHEL1SEA8559MW Content-Transfer-Encoding: 7bit Message-ID-Hash: VMTURVY5NXBGX3FYTHU2ZU77VTH5SS66 X-Message-ID-Hash: VMTURVY5NXBGX3FYTHU2ZU77VTH5SS66 X-MailFrom: will.senn@gmail.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [TUHS] Re: python List-Id: The Unix Heritage Society mailing list Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: ------RN8UR9I0H2562K7WGHEL1SEA8559MW Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Nice=2E I've never appreciated type checking at 'compile' time, but I under= stand why others might (ocd)=2E C was my first exposure to blending types, = then Perl was fuzzier, then Python was even better at pretending types didn= 't matter=2E Now, with Lisp, I am freed from type concerns=2E=2E=2E until I= 'm not=2E Thankfully, it's my choice=2E Will On August 3, 2023 9:56:22 AM CDT, Dan Halbert wrot= e: >Python has optional type annotations=2E There are batch tools (e=2Eg=2E, = MyPy) to do type analysis and IDE's also provide help=2E Example: > >def greeting(name: str) -> str: >=C2=A0=C2=A0=C2=A0 return 'Hello ' + name > >I found Python to be an enormous improvement over Perl for writing the ki= nds of things I used to write in Perl, with the Perl book at my side=2E I c= urrently make my living working on Python for microcontrollers=2E Neverthle= ss, I am fond of type checking too, and if I were writing a large Python sy= stem, I would use type annotations=2E > >I have used BCPL too, in the 70's, and we achieved some measure of type s= afety by careful naming=2E > >Dan H=2E > >On 8/3/23 10:19, Bakul Shah wrote: >> I have not heard such horror stories about Common Lisp (or may be I hav= e forgotten them!)=2E My impression is that python doesn't quite have the k= ind of {meta,}programming tools Common Lisp has=2E CL has been used for lar= ge critical programs=2E Perhaps Von Rossum had more experience with statica= lly typed languages than Lisp (because -- pure speculation here -- if he ha= d used CL enough, he would never have designed python :-) >>=20 >>> On Aug 3, 2023, at 1:32 AM, Rob Pike wrote: >>>=20 >>> I once inherited maintenance of a critical piece of infrastructure wri= tten in exquisitely well written, tested, and documented Python=2E I mean i= t, it was really really good=2E >>>=20 >>> It crashed about once a week and I had to fix it over and over because= in those exponentially vast combinations of paths through the code would a= rise yet another way to turn a string into a list, or something analogous= =2E It was hell=2E >>>=20 >>> Critical code needs static typing=2E >>>=20 >>> -rob >>>=20 >>>=20 >>> On Thu, Aug 3, 2023 at 1:56=E2=80=AFPM Bakul Shah wrote: >>>=20 >>> python can certainly implement tail call optimization (TCO)=2E >>> Pretty much any language can implement TCO but for some reason >>> people think such programs are harder to debug (and yet they >>> don't similarly complain about loops!)=2E The beauty of Scheme was >>> that it *mandated* tail recursion=2E >>>=20 >>> > On Aug 2, 2023, at 8:24 PM, George Michaelson >>> wrote: >>> > >>> > Tail recursion not lazy eval=2E >>> > >>> > I wish words meant what I meant "inside" when I think them, not >>> > "outside" what they mean when I write them=2E >>>=20 >>=20 -- Sent from /e/OS Mail=2E ------RN8UR9I0H2562K7WGHEL1SEA8559MW Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable
Nice=2E I've never appreciated type checking at = 'compile' time, but I understand why others might (ocd)=2E C was my first e= xposure to blending types, then Perl was fuzzier, then Python was even bett= er at pretending types didn't matter=2E Now, with Lisp, I am freed from typ= e concerns=2E=2E=2E until I'm not=2E Thankfully, it's my choice=2E

W= ill


On August 3, = 2023 9:56:22 AM CDT, Dan Halbert <halbert@halwitz=2Eorg> wrote:
=
Python has optional type annotations=2E There are batch tools (e=2Eg= =2E, MyPy) to do type analysis and IDE's also provide help=2E Example:

def greeting(name: str) -> str:
    return 'Hello ' + name

I found Python to be an enormous improvement over Perl for writing the kinds of things I used to write in Perl, with the Perl book at my side=2E I currently make my living working on Python for microcontrollers=2E Neverthless, I am fond of type checking too, and if I were writing a large Python system, I would use type annotations=2E

I have used BCPL too, in the 70's, and we achieved some measure of type safety by careful naming=2E

Dan H=2E

On 8/3/23 10:19, Bakul Shah wrote:
I have not heard such horror stories about Common Lisp (or may be I have forgotten them!)=2E My impression is that python doesn't quite have the kind of {meta,}programming tools Common Lisp has=2E CL has been used for large critical programs=2E Perhaps Von Rossum had more experience with statically typed languages than Lisp (because -- pure speculation here -- if he had used CL enough, he would never have designed python :-)

On Aug 3, 2023, at 1:32 AM, Rob Pike <robpike@gmail=2Ecom> wrote:

I once inherited maintenance of a critical piece of infrastructure written in exquisitely well written, tested, and documented Python=2E I mean it, it was really really good=2E

It crashed about once a week and I had to fix it over and over because in those exponentially vast combinations of paths through the code would arise yet another way to turn a string into a list, or something analogous=2E It was hell=2E

Critical code needs static typing=2E

-rob


On Thu, Aug 3, 2023 = at 1:56=E2=80=AFPM Bakul Shah <ba= kul@iitbombay=2Eorg> wrote:
python can certainly implement tail call optimization (TCO)=2E Pretty much any language can implement TCO but for some reason people think such programs are harder to debug (and yet they don't similarly complain about loops!)=2E The beauty of Scheme was that it *mandated* tail recursion=2E

> On Aug 2, 2023, at 8:24 PM, George Michaelson <ggm@algebras= =2Eorg> wrote:
>
> Tail recursion not lazy eval=2E
>
> I wish words meant what I meant "inside" when I think them, not
> "outside" what they mean when I write them=2E



-- Sent from /e/OS Mail=2E
------RN8UR9I0H2562K7WGHEL1SEA8559MW--