Information AboutFalse |
| CATEGORIES ABOUT FALSE | |
| esoteric programming languages | |
| stack-oriented programming languages | |
| non-english-based programming languages | |
|
FALSE is notably more tractable than most esoteric programming languages. The fundamental operations that it provides are reasonably sensible, and there is no gratuitous complexity. In these respects it stands in stark contrast to the behemoths Intercal and Malbolge . The difficulty of programming in FALSE comes mostly from the low level nature of the language, which has the feel of a Forth-like assembly language. The remainder of the language's awkwardness comes from the concise punctuation-based syntax, which many people find more difficult than a more conventional word-based syntax. The language features basic arithmetic and logical operations, variables, Subroutines as Lambda Calculus expressions, Control Flow statements, and Input/output operations. FALSE operations are done using a Stack . Its structure is largely based on the Forth Programming Language . THE STACK Everything in the language is defined by how it operates on the stack. When a value is encountered, it is simply pushed onto the stack; when an operator is encountered, a number of operands are popped from the stack, the operation is performed on them, and some number of results are pushed back onto the stack. For example, in the expression 1 3_+: : 1 : pushes the integer 1 onto the stack: 3 : pushes the integer 3 onto the stack: _ : pops 3 from the stack, negates it, and pushes -3: + : pops 1 and -3 from the stack and pushes their Sum , -2. Subroutines also act on the stack - this is the way that they are given arguments and return values; they see the same stack as the rest of the program. DATA TYPES Data types that can be used in the program are ASCII characters (which are preceded by ' (single-quote)), 32-bit Integer s, binary values (0 representing false; -1 representing true), and lambda calculus expressions. These can be used on the stack or stored in Variables . BASIC OPERATORS FALSE supports Binary and Unary Operation s in Reverse Polish Notation , as well as operations that act on the stack alone.
|
|
|