FALSE
From Esolang
- This article is a stub, which means that it is not detailed enough and needs to be expanded. Please help us by adding some more information.
FALSE (named after the author's favourite truthvalue) is an early esoteric programming language invented by Wouter van Oortmerssen in 1993, with the goal of creating a powerful (and obfuscated) language with as small compiler as possible. The original compiler is 1024 bytes, written in 68000 assembler. FALSE inspired the prominent esoteric languages Brainfuck and Befunge, among other languages.
Despite the small compiler size FALSE has a lot features. A stack is used extensively, but there are also a few variables (characters a-z). FALSE has also lambda functions, ability to do arithmetics, some stack functions, means of doing if and while structures, and input/output support. Also, comments can be used.
[edit] Computational Class
Because FALSE has no way to change items deep in the stack without popping most of those above, nor a way to construct new functions, it might seem that it couldn't be Turing complete, even assuming as usual that all size limits of the implementation are ignored. However, this is not entirely clear, because there does exist a command ΓΈ to copy elements from arbitrarily deep in the stack. Rather than changing the original contents of the stack, it might be possible to create a complete, but slightly modified copy of the stack above the old one, at least if it is formatted suitably. This might be enough to simulate changing the stack, and so give Turing completeness.
[edit] External resources
- Wouter's False page
- Interpreter/debugger in JavaScript running on a web page
- A dialect of FALSE implemented in K
Categories: Stubs | Languages | Push-down automata | Stack-based | Low-level | Implemented | 1993

