I have not heard such horror stories about Common Lisp
(or may be I
have forgotten them!). My impression is that python doesn't quite have
the kind of {meta,}programming tools Common Lisp has. CL has been used
for large critical programs. 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(a)gmail.com> wrote:
I once inherited maintenance of a critical piece of infrastructure
written in exquisitely well written, tested, and documented Python. I
mean it, it was really really good.
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. It was hell.
Critical code needs static typing.
-rob
On Thu, Aug 3, 2023 at 1:56 PM Bakul Shah <bakul(a)iitbombay.org> wrote:
python can certainly implement tail call optimization (TCO).
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!). The beauty of Scheme was
that it *mandated* tail recursion.
On Aug 2, 2023, at 8:24 PM, George Michaelson
<ggm(a)algebras.org> wrote:
Tail recursion not lazy eval.
I wish words meant what I meant "inside" when I think them, not
"outside" what they mean when I write them.