Comment by zogrodea
9 months ago
There are at least a few nascent statically typed languages (as in, full static typing rather than gradual) which nevertheless let code with type errors compile for the sake of testing.
The two that I know of are Darklang [0] and Roc [1] which aim to let you compile code with type errors for the same reason you suggest.
[0] "Dark is designed for continuous delivery. As such, we don’t like requiring you to make large scale changes across your program, like changing a type everywhere. Instead, we want you to quickly discover that bad ideas won’t work, without first requiring you to propagate the type changes throughout your program."
https://blog.darklang.com/real-problems-with-functional-lang...
[1] "If you like, you can run a program that has compile-time errors like this. (If the program reaches the error at runtime, it will crash.)"
Let me introduce you to `-fdefer-type-errors` in GHC Haskell:
https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/defe...
That's pretty cool! Wouldn't have guessed that Haskell would has had this feature since 2015.