From Esolang
Jump to navigation Jump to search

Undefined is a programming language that, every program in it causes undefined behavior. Extra command line arguments and lack of source files also trigger undefined behaviors.


A standard-compliant Undefined program (that doesn't trigger any undefined behavior) is both capable of simulating a universal Turing machine and incapable of simulating a universal Turing machine, and can also do something a Turing machine cannot do. But the language itself isn't Turing-complete, because it has zero of such programs.

Practically, the Turing-completeness of this language depends on the implementation. Some undefined instructions might consistently form some kind of control flow in some interpreters.


Every program in your computer is an interpreter of Undefined. And all of them are bug-free (unless they are officially the interpreters of dialects of this language, or have extra features such as debugging). This may debunk the myth that every program that is complex enough always has bugs.