“Dynamically typed languages have one static type” is
- formally true
- boring once you understand it
- but the process of understanding it is useful
- not a good argument against dynamic typing
- PL’s version of “is an X a sandwich?”
Something I haven’t seen addressed — aren’t statically typed languages unityped, but in the metalanguage? We define type structure via context free grammars, which are de facto recursive sum types.
Unless you use some sort of well-typed AST I guess? Granted you seem to be limited to a certain level of expressiveness. It starts off easy with simple types, but then gets tricky fast as you attempt to approach the expressiveness of the metalanguage.