3 ms·
But he did get a runtime failure. Imagine this wasn't about adding a function, but changing an existing function that is being called from 23 different location
by atombender 8y ago
But he did get a runtime failure. Imagine this wasn't about adding a function, but changing an existing function that is being called from 23 different locations in a 100kloc codebase, and that it contains some tricky condition logic so that a bug might only be triggered in 5% of the calls. Without exhaustive unit tests, a type error potentially would not show up until all those call sites had been executed with the specific arguments required to trigger the bug. His point was that in a statically typed language, this would all be detected at compile time.
- bjoli 8y agoThis error would be detected at compile time without it (as another commenter shows), and if you are not using the more dynamic features of lisp you really should declare the types.
- didibus 8y agoOkay, sure, but that's just the classic argument for static type systems, i.e., soundness. I thought he was trying to allure to something more.