FALSE


FALSE — эзотерический язык программирования, созданный в 1993 году Ваутером ван Ортмерссеном с двумя, по его словам, целями:

FALSE стал одним из первых эзотерических языков программирования, в частности он послужил источником вдохновения для автора знаменитого языка Brainfuck. Не будет большим преувеличением сказать, что именно с FALSE началась мода на эзотерические языки программирования.

Вместе с тем FALSE — всё ещё достаточно практичный язык программирования. Хотя его и отличает write-only синтаксис, он поддерживает разумный набор операций, в отличие от являющегося реализацией варианта машины Тьюринга Brainfuck, не говоря уже о таких чудовищных языках как INTERCAL и Malbolge. Источником идей для FALSE был язык Forth, его синтаксис также напоминает синтаксис известного калькулятора dc для UNIXобратной польской нотацией). Одним из основных источников сложности при программировании на FALSE является использование экзотических знаков пунктуации (не разделяемых пробелами) вместо форт-слов.

Арифметические операции +, -, *, и / берут с вершины стека два верхних элемента и возвращают туда, соответственно, сумму, разность, произведение или частное. Знак подчёркивания _ — это унарная операция изменения знака числа, лежащего на вершине стека. Логические операции в FALSE это бинарные =, >, &, | и унарная операция логического отрицания ~.

Для присваивания переменной значения (взятого с вершины стека) используется операция двоеточие :, так 3a: присваивает переменной a значение 3. Чтобы положить значение переменной на стек используется символ точка с запятой ;.

Однако поскольку FALSE — стековый язык, переменные редко бывают нужны для хранения обычных числовых значений. Чаще они используются в роли функций — в них сохраняются лямбда-выражения, например: