# Befalse

**Befalse** is an esoteric programming language created by Ian Osgood in 2005 and inspired by SNUSP and False. Like SNUSP, no letters were harmed in the making of this language.

Befalse combines the flow-control operators (/\?!) and call stack (:CALL ;RET) of SNUSP; the stack, math, and logic operators of False; and the mutable code space, numbers, and strings of Befunge (@GET =PUT). In addition, like Forth the call stack is accessible ({PUSH }POP), and there is a wimpmode for entering multi-digit numbers. The division operator is replaced by Forth's more flexible `DIVMOD. The stack operators are named $DUP, #DROP, and %SWAP, and False's @ROT is replaced by Forth's more useful ^OVER. Other stack operators can be constructed using the handy {PUSH and }POP operators.

## Examples

Here is recursive code for printing an integer (**!**skip **?**skip-if-zero **`**divmod **$**dup **#**drop **.**emit).

(1234!/55+`$?\\ \ /!:// ;.+*68/!#/

The interpreter below contains example programs for:

- printing a number (not a built-in operation, although numeric 'INPUT is supported)
- greatest common divisor (GCD)
- Fibonacci sequence
- graphical sieve of Eratosthenes
- ROT13
- the eight queens problem
- 99 bottles of beer
- Ackermann function