In particular, I really like the examples of static typing and algebraic data type definitions.
You might also like the Hackett submissions we’ve had here. They’re like the high end of doing something like this.
It turns out that the static typing example works with ECL, CCL and SBCL, as far as I’ve tested.
Does this mean that “Common Lisp is not statically typed” is a common misconception, and that it would be more accurate to say “Common Lisp has optional static typing”?
Common Lisp is strongly, dynamically typed.
Indeed, but the linked article explains how to do static typing as well.
More similar stuff: https://medium.com/@MartinCracauer/static-type-checking-in-the-programmable-programming-language-lisp-79bb79eb068a