> simple type checking becomes undecidable
Where can I read more about this?
Where can I read more about this?
https://beza1e1.tuxen.de/articles/accidentally_turing_comple... offers examples showing how easy it is to accidentally get Turing completeness, including multiple widely used type systems.
https://mitpress.mit.edu/9780262536431/the-little-typer/
Here is a free book on how type checking can be used to do mathematical proofs:
https://github.com/microsoft/TypeScript/issues/14833
The flip side is that such systems can still be practically useful. You just have to manage your type complexity, much like you already manage your runtime complexity.