We explore some problems that no practical or theoretical computer can solve. Does a given function always return the same value? Are two functions equivalent? Will a given function ever return? We also briefly examine implications of these three undecidable problems in compilers, refactoring, and powerful static type systems, respectively.

Execute Program

Looking for something more interactive? Try Execute Program, an interactive learning platform from Destroy All Software LLC! It has courses on TypeScript, SQL, regular expressions, JavaScript concurrency, and more. All Destroy All Software subscriptions include full access to Execute Program, or you can subscribe to Execute Program directly.