On Thu, Aug 3, 2023 at 10:20 AM Bakul Shah <bakul(a)iitbombay.org> wrote:
I have not heard such horror stories about Common Lisp (or may be I have
forgotten them!).
Both Common Lisp and Python have optional static typing that is as rigorous
as you might want. In the case of Python it is an outboard tool that you
put into your build file; Python itself ignores declarations. (That means
that the declarations are not used to optimize runtime performance.) The
mypy tool does extensive type inference; you can get a long way without
ever writing a declaration.
For CL, type checking is part of the compiler; the interpreter generally
ignores type declarations, although Steel Bank CL, the fastest existing
implementation, uses the compiler even in the REPL.