Brainfuck is an immortal general-purpose programming language. It has only eight commands which operate on an array of bytes and a movable data pointer. The commands are:
>
move the data pointer one cell to the right<
move the data pointer one cell to the left+
increase the value at the current cell by one-
decrease the value at the current cell by one.
output the value at the current cell as a character,
read one byte of input into the current cell[
if the current cell is zero, jump forward to the matching ]
]
if the current cell is not zero, jump back to the matching [
I wrote a Brainfuck compiler in OCaml which generates native x86 executables for Linux. No LLVM, just translating Brainfuck commands to machine code and outputting the ELF file.
Thankfully, I figured out that it is possible to compile OCaml programs to JavaScript so that my compiler can run in the browser and all of you can experience the joy of Brainfuck without having to download OCaml and building the compiler first.