esoteric programming languages - an introduction to ... · introduction brainfuck intercal befunge...
TRANSCRIPT
Esoteric Programming Languages
blinry
17. Esoterischprogrammiernacht
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Introduction
“esoteric” from Greek esoterikos, “belonging to an inner circle”
Esoteric Programming Languagesproof-of-conceptartistic expressionchallenge (for the designer and/or user)joke
This presentation: Five Turing-complete languages
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Introduction
“esoteric” from Greek esoterikos, “belonging to an inner circle”
Esoteric Programming Languagesproof-of-conceptartistic expressionchallenge (for the designer and/or user)joke
This presentation: Five Turing-complete languages
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Introduction
“esoteric” from Greek esoterikos, “belonging to an inner circle”
Esoteric Programming Languagesproof-of-conceptartistic expressionchallenge (for the designer and/or user)joke
This presentation: Five Turing-complete languages
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Brainfuck
Designed by Urban Müller in 1993
Motivation: Small compiler (296 bytes)Minimalist syntax, only eight commands:> < + - , . [ ]
“brain fuck” = hard or complicated thing
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Brainfuck
Designed by Urban Müller in 1993Motivation: Small compiler (296 bytes)
Minimalist syntax, only eight commands:> < + - , . [ ]
“brain fuck” = hard or complicated thing
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Brainfuck
Designed by Urban Müller in 1993Motivation: Small compiler (296 bytes)Minimalist syntax, only eight commands:> < + - , . [ ]
“brain fuck” = hard or complicated thing
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Brainfuck
Designed by Urban Müller in 1993Motivation: Small compiler (296 bytes)Minimalist syntax, only eight commands:> < + - , . [ ]
“brain fuck” = hard or complicated thing
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >>>,-----.<<<++++++++++.
Input: f Output: a←↩
1 +++++[->+<]
1 -[>,[<<[-<]++[->+]->-]<<<<2 <<<<<+[-<++++++++[->++++++3 <]>.[-]>+]-]
Input: h Output: 01101000
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >>>,-----.<<<++++++++++.
Input: f Output: a←↩
1 +++++[->+<]
1 -[>,[<<[-<]++[->+]->-]<<<<2 <<<<<+[-<++++++++[->++++++3 <]>.[-]>+]-]
Input: h Output: 01101000
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >>>,-----.<<<++++++++++.
Input: f Output: a←↩
1 +++++[->+<]
1 -[>,[<<[-<]++[->+]->-]<<<<2 <<<<<+[-<++++++++[->++++++3 <]>.[-]>+]-]
Input: h Output: 01101000
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >>>,-----.<<<++++++++++.
Input: f Output: a←↩
1 +++++[->+<]
1 -[>,[<<[-<]++[->+]->-]<<<<2 <<<<<+[-<++++++++[->++++++3 <]>.[-]>+]-]
Input: h Output: 01101000
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >>>,-----.<<<++++++++++.
Input: f Output: a←↩
1 +++++[->+<]
1 -[>,[<<[-<]++[->+]->-]<<<<2 <<<<<+[-<++++++++[->++++++3 <]>.[-]>+]-]
Input: h Output: 01101000
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >>>,-----.<<<++++++++++.
Input: f Output: a←↩
1 +++++[->+<]
1 -[>,[<<[-<]++[->+]->-]<<<<2 <<<<<+[-<++++++++[->++++++3 <]>.[-]>+]-]
Input: h Output: 01101000
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >>>,-----.<<<++++++++++.
Input: f Output: a←↩
1 +++++[->+<]
1 -[>,[<<[-<]++[->+]->-]<<<<2 <<<<<+[-<++++++++[->++++++3 <]>.[-]>+]-]
Input: h Output: 01101000
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >>>,-----.<<<++++++++++.
Input: f Output: a←↩
1 +++++[->+<]
1 -[>,[<<[-<]++[->+]->-]<<<<2 <<<<<+[-<++++++++[->++++++3 <]>.[-]>+]-]
Input: h Output: 01101000
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >>>,-----.<<<++++++++++. Input: f
Output: a←↩
1 +++++[->+<]
1 -[>,[<<[-<]++[->+]->-]<<<<2 <<<<<+[-<++++++++[->++++++3 <]>.[-]>+]-]
Input: h Output: 01101000
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >>>,-----.<<<++++++++++. Input: f Output: a←↩
1 +++++[->+<]
1 -[>,[<<[-<]++[->+]->-]<<<<2 <<<<<+[-<++++++++[->++++++3 <]>.[-]>+]-]
Input: h Output: 01101000
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >>>,-----.<<<++++++++++. Input: f Output: a←↩
1 +++++[->+<]
1 -[>,[<<[-<]++[->+]->-]<<<<2 <<<<<+[-<++++++++[->++++++3 <]>.[-]>+]-]
Input: h Output: 01101000
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >>>,-----.<<<++++++++++. Input: f Output: a←↩
1 +++++[->+<]
1 -[>,[<<[-<]++[->+]->-]<<<<2 <<<<<+[-<++++++++[->++++++3 <]>.[-]>+]-]
Input: h Output: 01101000
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >>>,-----.<<<++++++++++. Input: f Output: a←↩
1 +++++[->+<]
1 -[>,[<<[-<]++[->+]->-]<<<<2 <<<<<+[-<++++++++[->++++++3 <]>.[-]>+]-]
Input: h Output: 01101000
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >>>,-----.<<<++++++++++. Input: f Output: a←↩
1 +++++[->+<]
1 -[>,[<<[-<]++[->+]->-]<<<<2 <<<<<+[-<++++++++[->++++++3 <]>.[-]>+]-]
Input: h Output: 01101000
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >>>,-----.<<<++++++++++. Input: f Output: a←↩
1 +++++[->+<]
1 -[>,[<<[-<]++[->+]->-]<<<<2 <<<<<+[-<++++++++[->++++++3 <]>.[-]>+]-]
Input: h Output: 01101000
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >>>,-----.<<<++++++++++. Input: f Output: a←↩
1 +++++[->+<]
1 -[>,[<<[-<]++[->+]->-]<<<<2 <<<<<+[-<++++++++[->++++++3 <]>.[-]>+]-]
Input: h Output: 01101000
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >>>,-----.<<<++++++++++. Input: f Output: a←↩
1 +++++[->+<]
1 -[>,[<<[-<]++[->+]->-]<<<<2 <<<<<+[-<++++++++[->++++++3 <]>.[-]>+]-]
Input: h Output: 01101000
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >>>,-----.<<<++++++++++. Input: f Output: a←↩
1 +++++[->+<]
1 -[>,[<<[-<]++[->+]->-]<<<<2 <<<<<+[-<++++++++[->++++++3 <]>.[-]>+]-]
Input: h Output: 01101000
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >>>,-----.<<<++++++++++. Input: f Output: a←↩
1 +++++[->+<]
1 -[>,[<<[-<]++[->+]->-]<<<<2 <<<<<+[-<++++++++[->++++++3 <]>.[-]>+]-]
Input: h Output: 01101000
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >>>,-----.<<<++++++++++. Input: f Output: a←↩
1 +++++[->+<]
1 -[>,[<<[-<]++[->+]->-]<<<<2 <<<<<+[-<++++++++[->++++++3 <]>.[-]>+]-]
Input: h
Output: 01101000
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >>>,-----.<<<++++++++++. Input: f Output: a←↩
1 +++++[->+<]
1 -[>,[<<[-<]++[->+]->-]<<<<2 <<<<<+[-<++++++++[->++++++3 <]>.[-]>+]-]
Input: h Output: 01101000
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 0 0 0 0 . . .
Inputhello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 0 0 255 0 . . .
Inputhello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 0 0 255 0 . . .
Inputhello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 0 0 255 0 . . .
Inputhello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 0 0 255 104 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 0 0 255 104 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 0 0 255 104 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 0 0 255 104 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 0 0 255 104 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 0 0 255 104 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 0 1 255 104 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 0 2 255 104 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 0 2 255 104 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 0 1 255 104 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 0 1 255 104 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 0 1 0 104 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 0 1 0 104 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 0 1 255 104 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 0 1 255 104 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 0 1 255 103 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 0 1 255 103 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 0 1 255 103 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 0 1 255 103 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 0 1 255 103 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 0 1 255 103 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 0 0 255 103 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 0 0 255 103 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 0 0 255 103 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 1 0 255 103 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 2 0 255 103 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 2 0 255 103 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 1 0 255 103 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 1 0 255 103 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 1 1 255 103 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 1 1 255 103 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 1 1 255 103 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 1 0 255 103 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 1 0 255 103 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 1 0 0 103 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 1 0 0 103 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 1 0 255 103 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 1 0 255 103 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 1 0 255 102 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 1 0 255 102 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 1 1 0 1 0 0 0 255 0 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 1 1 0 1 0 0 0 255 0 . . .
Input
h
ello
Output
0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 0 0 255 0 . . .
Input
h
ello
Output01101000
01100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 0 0 255 0 . . .
Input
h
ello
Output01101000
01100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 0 0 255 0 . . .
Input
h
ello
Output01101000
01100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ASCII to binary
1 -2 [3 >,4 [5 <<6 [-<]7 +8 +[->+]-9 >-10 ]11 <<<<<<<<<12 +[-13 <++++++++14 [->++++++<]>.15 [-]16 >17 +]-18 ]
Tape. . . 0 0 0 0 0 0 0 0 255 0 . . .
Input
hello
Output0110100001100101011011000110110001101111
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Significance
Best-known esoteric programming language
Many implementations, like AwibSmallest current interpreter: 98 bytes!Someone wrote a text adventure:
1 >+ >+ >+ >+ >+ >+ > > > >++++++++++[ >+ >+++ >+++++ >+++++++ >++++++++++ < <2 <<<-]>..>++>>.>+++++.+++++.-------------.+++++++++++..++++++3 +++++++.<<<.>>++++++++++++++.>------------------------.+++++4 +++++.--.+++++.-------.<<<.>>-----.>+++++++++++++++.--------5 ---------.+++++++++++++.<<<.>>+++++.>----------.---.<<<.>>++6 +.>++++++++++.+++.------.--------.<<<<.>>-----..............7 ...............<<..>>>-------.++++++++.-----------.+++++++++8 ++++. - - - - - - - - -.+++++++++++++++. < <+++++++++++++. <. > > -. > - -.++.9 ---------------.<<<<.>>>------------.>++++++++++.-.++++++.--10 ---------.+++++.---------.+++++++++.++++++.<<.<.>>++++++++++
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Significance
Best-known esoteric programming languageMany implementations, like Awib
Smallest current interpreter: 98 bytes!Someone wrote a text adventure:
1 >+ >+ >+ >+ >+ >+ > > > >++++++++++[ >+ >+++ >+++++ >+++++++ >++++++++++ < <2 <<<-]>..>++>>.>+++++.+++++.-------------.+++++++++++..++++++3 +++++++.<<<.>>++++++++++++++.>------------------------.+++++4 +++++.--.+++++.-------.<<<.>>-----.>+++++++++++++++.--------5 ---------.+++++++++++++.<<<.>>+++++.>----------.---.<<<.>>++6 +.>++++++++++.+++.------.--------.<<<<.>>-----..............7 ...............<<..>>>-------.++++++++.-----------.+++++++++8 ++++. - - - - - - - - -.+++++++++++++++. < <+++++++++++++. <. > > -. > - -.++.9 ---------------.<<<<.>>>------------.>++++++++++.-.++++++.--10 ---------.+++++.---------.+++++++++.++++++.<<.<.>>++++++++++
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Significance
Best-known esoteric programming languageMany implementations, like AwibSmallest current interpreter: 98 bytes!
Someone wrote a text adventure:
1 >+ >+ >+ >+ >+ >+ > > > >++++++++++[ >+ >+++ >+++++ >+++++++ >++++++++++ < <2 <<<-]>..>++>>.>+++++.+++++.-------------.+++++++++++..++++++3 +++++++.<<<.>>++++++++++++++.>------------------------.+++++4 +++++.--.+++++.-------.<<<.>>-----.>+++++++++++++++.--------5 ---------.+++++++++++++.<<<.>>+++++.>----------.---.<<<.>>++6 +.>++++++++++.+++.------.--------.<<<<.>>-----..............7 ...............<<..>>>-------.++++++++.-----------.+++++++++8 ++++. - - - - - - - - -.+++++++++++++++. < <+++++++++++++. <. > > -. > - -.++.9 ---------------.<<<<.>>>------------.>++++++++++.-.++++++.--10 ---------.+++++.---------.+++++++++.++++++.<<.<.>>++++++++++
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Significance
Best-known esoteric programming languageMany implementations, like AwibSmallest current interpreter: 98 bytes!Someone wrote a text adventure:
1 >+ >+ >+ >+ >+ >+ > > > >++++++++++[ >+ >+++ >+++++ >+++++++ >++++++++++ < <2 <<<-]>..>++>>.>+++++.+++++.-------------.+++++++++++..++++++3 +++++++.<<<.>>++++++++++++++.>------------------------.+++++4 +++++.--.+++++.-------.<<<.>>-----.>+++++++++++++++.--------5 ---------.+++++++++++++.<<<.>>+++++.>----------.---.<<<.>>++6 +.>++++++++++.+++.------.--------.<<<<.>>-----..............7 ...............<<..>>>-------.++++++++.-----------.+++++++++8 ++++. - - - - - - - - -.+++++++++++++++. < <+++++++++++++. <. > > -. > - -.++.9 ---------------.<<<<.>>>------------.>++++++++++.-.++++++.--10 ---------.+++++.---------.+++++++++.++++++.<<.<.>>++++++++++
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Significance
Best-known esoteric programming languageMany implementations, like AwibSmallest current interpreter: 98 bytes!Someone wrote a text adventure:
1 >+ >+ >+ >+ >+ >+ > > > >++++++++++[ >+ >+++ >+++++ >+++++++ >++++++++++ < <2 <<<-]>..>++>>.>+++++.+++++.-------------.+++++++++++..++++++3 +++++++.<<<.>>++++++++++++++.>------------------------.+++++4 +++++.--.+++++.-------.<<<.>>-----.>+++++++++++++++.--------5 ---------.+++++++++++++.<<<.>>+++++.>----------.---.<<<.>>++6 +.>++++++++++.+++.------.--------.<<<<.>>-----..............7 ...............<<..>>>-------.++++++++.-----------.+++++++++8 ++++. - - - - - - - - -.+++++++++++++++. < <+++++++++++++. <. > > -. > - -.++.9 ---------------.<<<<.>>>------------.>++++++++++.-.++++++.--10 ---------.+++++.---------.+++++++++.++++++.<<.<.>>++++++++++
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Variants
At least 200 variants, including:
DoubleFuck (two tapes)Boolfuck (binary cells)Brainfork (multithreading via Y)Ook! (for orangutans)
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Variants
At least 200 variants, including:
DoubleFuck (two tapes)
Boolfuck (binary cells)Brainfork (multithreading via Y)Ook! (for orangutans)
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Variants
At least 200 variants, including:
DoubleFuck (two tapes)Boolfuck (binary cells)
Brainfork (multithreading via Y)Ook! (for orangutans)
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Variants
At least 200 variants, including:
DoubleFuck (two tapes)Boolfuck (binary cells)Brainfork (multithreading via Y)
Ook! (for orangutans)
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Variants
At least 200 variants, including:
DoubleFuck (two tapes)Boolfuck (binary cells)Brainfork (multithreading via Y)Ook! (for orangutans)
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
INTERCAL
Created in 1972 by Donald R. Woods and James M. Lyon
Motivation: Be different than FORTRAN or COBOLWeird names, operators and properties“Compiler Language With No Pronounceable Acronym”Fun manual!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
INTERCAL
Created in 1972 by Donald R. Woods and James M. LyonMotivation: Be different than FORTRAN or COBOL
Weird names, operators and properties“Compiler Language With No Pronounceable Acronym”Fun manual!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
INTERCAL
Created in 1972 by Donald R. Woods and James M. LyonMotivation: Be different than FORTRAN or COBOLWeird names, operators and properties
“Compiler Language With No Pronounceable Acronym”Fun manual!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
INTERCAL
Created in 1972 by Donald R. Woods and James M. LyonMotivation: Be different than FORTRAN or COBOLWeird names, operators and properties“Compiler Language With No Pronounceable Acronym”
Fun manual!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
INTERCAL
Created in 1972 by Donald R. Woods and James M. LyonMotivation: Be different than FORTRAN or COBOLWeird names, operators and properties“Compiler Language With No Pronounceable Acronym”Fun manual!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Manual
“Under no circumstances confuse the mesh with the interleave operator, exceptunder confusing circumstances!”
“Definition of array dimensions will be discussed later in greater detail, sincediscussing it in less detail would be difficult.”“exp represents any expression (except colloquial and facial expressions)”“Precedence of operators is as follows: (The remainder of this page intentionallyleft blank.)”“This footnote intentionally unreferenced.”
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Manual
“Under no circumstances confuse the mesh with the interleave operator, exceptunder confusing circumstances!”“Definition of array dimensions will be discussed later in greater detail, sincediscussing it in less detail would be difficult.”
“exp represents any expression (except colloquial and facial expressions)”“Precedence of operators is as follows: (The remainder of this page intentionallyleft blank.)”“This footnote intentionally unreferenced.”
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Manual
“Under no circumstances confuse the mesh with the interleave operator, exceptunder confusing circumstances!”“Definition of array dimensions will be discussed later in greater detail, sincediscussing it in less detail would be difficult.”“exp represents any expression (except colloquial and facial expressions)”
“Precedence of operators is as follows: (The remainder of this page intentionallyleft blank.)”“This footnote intentionally unreferenced.”
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Manual
“Under no circumstances confuse the mesh with the interleave operator, exceptunder confusing circumstances!”“Definition of array dimensions will be discussed later in greater detail, sincediscussing it in less detail would be difficult.”“exp represents any expression (except colloquial and facial expressions)”“Precedence of operators is as follows: (The remainder of this page intentionallyleft blank.)”
“This footnote intentionally unreferenced.”
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Manual
“Under no circumstances confuse the mesh with the interleave operator, exceptunder confusing circumstances!”“Definition of array dimensions will be discussed later in greater detail, sincediscussing it in less detail would be difficult.”“exp represents any expression (except colloquial and facial expressions)”“Precedence of operators is as follows: (The remainder of this page intentionallyleft blank.)”“This footnote intentionally unreferenced.”
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Multiplying by two
1 PLEASE WRITE IN .12
3 DO COME FROM (42)4
5 DO :1 <- .1$#06 DO :2 <- #65535$#17 DO .1 <- :1˜:28
9 (42) DO READ OUT .110
11 PLEASE GIVE UP
InputFIVE FOUR
.1 =:1 =:2 =
OutputCVIII
CCXVICDXXXII. . .ICL275I: DON’T BYTE OFF MORE THANYOU CAN CHEW
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Multiplying by two
1 PLEASE WRITE IN .12
3 DO COME FROM (42)4
5 DO :1 <- .1$#06 DO :2 <- #65535$#17 DO .1 <- :1˜:28
9 (42) DO READ OUT .110
11 PLEASE GIVE UP
InputFIVE FOUR
.1 =:1 =:2 =
OutputCVIII
CCXVICDXXXII. . .ICL275I: DON’T BYTE OFF MORE THANYOU CAN CHEW
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Multiplying by two
1 PLEASE WRITE IN .12
3 DO COME FROM (42)4
5 DO :1 <- .1$#06 DO :2 <- #65535$#17 DO .1 <- :1˜:28
9 (42) DO READ OUT .110
11 PLEASE GIVE UP
InputFIVE FOUR
.1 = 110110
:1 =:2 =
OutputCVIII
CCXVICDXXXII. . .ICL275I: DON’T BYTE OFF MORE THANYOU CAN CHEW
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Multiplying by two
1 PLEASE WRITE IN .12
3 DO COME FROM (42)4
5 DO :1 <- .1$#06 DO :2 <- #65535$#17 DO .1 <- :1˜:28
9 (42) DO READ OUT .110
11 PLEASE GIVE UP
InputFIVE FOUR
.1 = 110110
:1 =:2 =
OutputCVIII
CCXVICDXXXII. . .ICL275I: DON’T BYTE OFF MORE THANYOU CAN CHEW
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Multiplying by two
1 PLEASE WRITE IN .12
3 DO COME FROM (42)4
5 DO :1 <- .1$#06 DO :2 <- #65535$#17 DO .1 <- :1˜:28
9 (42) DO READ OUT .110
11 PLEASE GIVE UP
InputFIVE FOUR
.1 = 110110
:1 =:2 =
OutputCVIII
CCXVICDXXXII. . .ICL275I: DON’T BYTE OFF MORE THANYOU CAN CHEW
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Multiplying by two
1 PLEASE WRITE IN .12
3 DO COME FROM (42)4
5 DO :1 <- .1$#06 DO :2 <- #65535$#17 DO .1 <- :1˜:28
9 (42) DO READ OUT .110
11 PLEASE GIVE UP
InputFIVE FOUR
.1 = 110110:1 = 110110 $ 000000
:2 =
OutputCVIII
CCXVICDXXXII. . .ICL275I: DON’T BYTE OFF MORE THANYOU CAN CHEW
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Multiplying by two
1 PLEASE WRITE IN .12
3 DO COME FROM (42)4
5 DO :1 <- .1$#06 DO :2 <- #65535$#17 DO .1 <- :1˜:28
9 (42) DO READ OUT .110
11 PLEASE GIVE UP
InputFIVE FOUR
.1 = 110110:1 = 101000101000
:2 =
OutputCVIII
CCXVICDXXXII. . .ICL275I: DON’T BYTE OFF MORE THANYOU CAN CHEW
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Multiplying by two
1 PLEASE WRITE IN .12
3 DO COME FROM (42)4
5 DO :1 <- .1$#06 DO :2 <- #65535$#17 DO .1 <- :1˜:28
9 (42) DO READ OUT .110
11 PLEASE GIVE UP
InputFIVE FOUR
.1 = 110110:1 = 101000101000
:2 =
OutputCVIII
CCXVICDXXXII. . .ICL275I: DON’T BYTE OFF MORE THANYOU CAN CHEW
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Multiplying by two
1 PLEASE WRITE IN .12
3 DO COME FROM (42)4
5 DO :1 <- .1$#06 DO :2 <- #65535$#17 DO .1 <- :1˜:28
9 (42) DO READ OUT .110
11 PLEASE GIVE UP
InputFIVE FOUR
.1 = 110110:1 = 101000101000:2 = ...111111 $ ...000001
OutputCVIII
CCXVICDXXXII. . .ICL275I: DON’T BYTE OFF MORE THANYOU CAN CHEW
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Multiplying by two
1 PLEASE WRITE IN .12
3 DO COME FROM (42)4
5 DO :1 <- .1$#06 DO :2 <- #65535$#17 DO .1 <- :1˜:28
9 (42) DO READ OUT .110
11 PLEASE GIVE UP
InputFIVE FOUR
.1 = 110110:1 = 101000101000:2 = 101010101011
OutputCVIII
CCXVICDXXXII. . .ICL275I: DON’T BYTE OFF MORE THANYOU CAN CHEW
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Multiplying by two
1 PLEASE WRITE IN .12
3 DO COME FROM (42)4
5 DO :1 <- .1$#06 DO :2 <- #65535$#17 DO .1 <- :1˜:28
9 (42) DO READ OUT .110
11 PLEASE GIVE UP
InputFIVE FOUR
.1 = 110110:1 = 101000101000:2 = 101010101011
OutputCVIII
CCXVICDXXXII. . .ICL275I: DON’T BYTE OFF MORE THANYOU CAN CHEW
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Multiplying by two
1 PLEASE WRITE IN .12
3 DO COME FROM (42)4
5 DO :1 <- .1$#06 DO :2 <- #65535$#17 DO .1 <- :1˜:28
9 (42) DO READ OUT .110
11 PLEASE GIVE UP
InputFIVE FOUR
.1 = 1 1 0 1 1 00:1 = 101000101000:2 = 101010101011
OutputCVIII
CCXVICDXXXII. . .ICL275I: DON’T BYTE OFF MORE THANYOU CAN CHEW
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Multiplying by two
1 PLEASE WRITE IN .12
3 DO COME FROM (42)4
5 DO :1 <- .1$#06 DO :2 <- #65535$#17 DO .1 <- :1˜:28
9 (42) DO READ OUT .110
11 PLEASE GIVE UP
InputFIVE FOUR
.1 = 1 1 0 1 1 00:1 = 101000101000:2 = 101010101011
OutputCVIII
CCXVICDXXXII. . .ICL275I: DON’T BYTE OFF MORE THANYOU CAN CHEW
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Multiplying by two
1 PLEASE WRITE IN .12
3 DO COME FROM (42)4
5 DO :1 <- .1$#06 DO :2 <- #65535$#17 DO .1 <- :1˜:28
9 (42) DO READ OUT .110
11 PLEASE GIVE UP
InputFIVE FOUR
.1 = 1 1 0 1 1 00:1 = 101000101000:2 = 101010101011
OutputCVIII
CCXVICDXXXII. . .ICL275I: DON’T BYTE OFF MORE THANYOU CAN CHEW
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Multiplying by two
1 PLEASE WRITE IN .12
3 DO COME FROM (42)4
5 DO :1 <- .1$#06 DO :2 <- #65535$#17 DO .1 <- :1˜:28
9 (42) DO READ OUT .110
11 PLEASE GIVE UP
InputFIVE FOUR
.1 = 1 1 0 1 1 00:1 = 101000101000:2 = 101010101011
OutputCVIIICCXVICDXXXII. . .ICL275I: DON’T BYTE OFF MORE THANYOU CAN CHEW
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Multiplying by two
1 PLEASE WRITE IN .12
3 DO COME FROM (42)4
5 DO :1 <- .1$#06 DO :2 <- #65535$#17 DO .1 <- :1˜:28
9 (42) DO READ OUT .110
11 PLEASE GIVE UP
InputFIVE FOUR
.1 = 1 1 0 1 1 00:1 = 101000101000:2 = 101010101011
OutputCVIIICCXVICDXXXII. . .ICL275I: DON’T BYTE OFF MORE THANYOU CAN CHEW
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Significance
Eric Raymond released C-INTERCAL in 1990
“Large”, active communityDonald Knuth wrote a bug report in 2010Google released a style guide!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Significance
Eric Raymond released C-INTERCAL in 1990“Large”, active community
Donald Knuth wrote a bug report in 2010Google released a style guide!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Significance
Eric Raymond released C-INTERCAL in 1990“Large”, active communityDonald Knuth wrote a bug report in 2010
Google released a style guide!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Significance
Eric Raymond released C-INTERCAL in 1990“Large”, active communityDonald Knuth wrote a bug report in 2010Google released a style guide!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Significance
Eric Raymond released C-INTERCAL in 1990“Large”, active communityDonald Knuth wrote a bug report in 2010Google released a style guide!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Variants
TriINTERCAL (operates on ternary values)
Threaded INTERCAL (handles COME FROM statements referencing the same line)Backtracking INTERCAL (introduces the MAYBE label)
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Variants
TriINTERCAL (operates on ternary values)Threaded INTERCAL (handles COME FROM statements referencing the same line)
Backtracking INTERCAL (introduces the MAYBE label)
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Variants
TriINTERCAL (operates on ternary values)Threaded INTERCAL (handles COME FROM statements referencing the same line)Backtracking INTERCAL (introduces the MAYBE label)
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Befunge
Created in 1993 by Chris Pressey
Motivation: be difficult to parseFirst two-dimensional language“Befunge” mistyping of “before”
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Befunge
Created in 1993 by Chris PresseyMotivation: be difficult to parse
First two-dimensional language“Befunge” mistyping of “before”
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Befunge
Created in 1993 by Chris PresseyMotivation: be difficult to parseFirst two-dimensional language
“Befunge” mistyping of “before”
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Befunge
Created in 1993 by Chris PresseyMotivation: be difficult to parseFirst two-dimensional language“Befunge” mistyping of “before”
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >v2 ^<
1 v>0 v2 >?<.<3 >1 ^
Output: 1011110010. . .
1 666*+.@ Output: 42
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >v2 ^<
1 v>0 v2 >?<.<3 >1 ^
Output: 1011110010. . .
1 666*+.@ Output: 42
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >v2 ^<
1 v>0 v2 >?<.<3 >1 ^
Output: 1011110010. . .
1 666*+.@ Output: 42
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >v2 ^<
1 v>0 v2 >?<.<3 >1 ^
Output: 1011110010. . .
1 666*+.@ Output: 42
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >v2 ^<
1 v>0 v2 >?<.<3 >1 ^
Output: 1011110010. . .
1 666*+.@ Output: 42
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >v2 ^<
1 v>0 v2 >?<.<3 >1 ^
Output: 1011110010. . .
1 666*+.@ Output: 42
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >v2 ^<
1 v>0 v2 >?<.<3 >1 ^
Output: 1011110010. . .
1 666*+.@ Output: 42
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >v2 ^<
1 v>0 v2 >?<.<3 >1 ^
Output: 1011110010. . .
1 666*+.@ Output: 42
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >v2 ^<
1 v>0 v2 >?<.<3 >1 ^
Output: 1011110010. . .
1 666*+.@ Output: 42
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >v2 ^<
1 v>0 v2 >?<.<3 >1 ^
Output: 1011110010. . .
1 666*+.@ Output: 42
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >v2 ^<
1 v>0 v2 >?<.<3 >1 ^
Output: 1011110010. . .
1 666*+.@ Output: 42
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >v2 ^<
1 v>0 v2 >?<.<3 >1 ^
Output: 1011110010. . .
1 666*+.@ Output: 42
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >v2 ^<
1 v>0 v2 >?<.<3 >1 ^
Output: 1011110010. . .
1 666*+.@ Output: 42
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >v2 ^<
1 v>0 v2 >?<.<3 >1 ^
Output: 1011110010. . .
1 666*+.@ Output: 42
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >v2 ^<
1 v>0 v2 >?<.<3 >1 ^
Output: 1011110010. . .
1 666*+.@ Output: 42
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >v2 ^<
1 v>0 v2 >?<.<3 >1 ^
Output: 1011110010. . .
1 666*+.@ Output: 42
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >v2 ^<
1 v>0 v2 >?<.<3 >1 ^
Output: 1011110010. . .
1 666*+.@ Output: 42
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >v2 ^<
1 v>0 v2 >?<.<3 >1 ^
Output: 1011110010. . .
1 666*+.@
Output: 42
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >v2 ^<
1 v>0 v2 >?<.<3 >1 ^
Output: 1011110010. . .
1 666*+.@
Output: 42
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >v2 ^<
1 v>0 v2 >?<.<3 >1 ^
Output: 1011110010. . .
1 666*+.@
Output: 42
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >v2 ^<
1 v>0 v2 >?<.<3 >1 ^
Output: 1011110010. . .
1 666*+.@
Output: 42
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >v2 ^<
1 v>0 v2 >?<.<3 >1 ^
Output: 1011110010. . .
1 666*+.@
Output: 42
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >v2 ^<
1 v>0 v2 >?<.<3 >1 ^
Output: 1011110010. . .
1 666*+.@
Output: 42
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >v2 ^<
1 v>0 v2 >?<.<3 >1 ^
Output: 1011110010. . .
1 666*+.@
Output: 42
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >v2 ^<
1 v>0 v2 >?<.<3 >1 ^
Output: 1011110010. . .
1 666*+.@
Output: 42
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Examples
1 >v2 ^<
1 v>0 v2 >?<.<3 >1 ^
Output: 1011110010. . .
1 666*+.@ Output: 42
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ROT13
1 >˜:"‘"‘!v2 ,v _:"z"‘v3 ^ _:"m"‘v4 ^ -4-9<5 | <6 ^ +4+9<7 ^ _:"M"‘^8 ^ _:"Z"‘^9 >:"@"‘!^
Stack (bottom → top)(empty)
Inputhello, world!
Output
uryyb, jbeyq!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ROT13
1 >˜:"‘"‘!v2 ,v _:"z"‘v3 ^ _:"m"‘v4 ^ -4-9<5 | <6 ^ +4+9<7 ^ _:"M"‘^8 ^ _:"Z"‘^9 >:"@"‘!^
Stack (bottom → top)(empty)
Inputhello, world!
Output
uryyb, jbeyq!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ROT13
1 >˜:"‘"‘!v2 ,v _:"z"‘v3 ^ _:"m"‘v4 ^ -4-9<5 | <6 ^ +4+9<7 ^ _:"M"‘^8 ^ _:"Z"‘^9 >:"@"‘!^
Stack (bottom → top)104
Input
h
ello, world!
Output
uryyb, jbeyq!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ROT13
1 >˜:"‘"‘!v2 ,v _:"z"‘v3 ^ _:"m"‘v4 ^ -4-9<5 | <6 ^ +4+9<7 ^ _:"M"‘^8 ^ _:"Z"‘^9 >:"@"‘!^
Stack (bottom → top)104 104
Input
h
ello, world!
Output
uryyb, jbeyq!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ROT13
1 >˜:"‘"‘!v2 ,v _:"z"‘v3 ^ _:"m"‘v4 ^ -4-9<5 | <6 ^ +4+9<7 ^ _:"M"‘^8 ^ _:"Z"‘^9 >:"@"‘!^
Stack (bottom → top)104 104
Input
h
ello, world!
Output
uryyb, jbeyq!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ROT13
1 >˜:"‘"‘!v2 ,v _:"z"‘v3 ^ _:"m"‘v4 ^ -4-9<5 | <6 ^ +4+9<7 ^ _:"M"‘^8 ^ _:"Z"‘^9 >:"@"‘!^
Stack (bottom → top)104 104 96
Input
h
ello, world!
Output
uryyb, jbeyq!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ROT13
1 >˜:"‘"‘!v2 ,v _:"z"‘v3 ^ _:"m"‘v4 ^ -4-9<5 | <6 ^ +4+9<7 ^ _:"M"‘^8 ^ _:"Z"‘^9 >:"@"‘!^
Stack (bottom → top)104 104 96
Input
h
ello, world!
Output
uryyb, jbeyq!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ROT13
1 >˜:"‘"‘!v2 ,v _:"z"‘v3 ^ _:"m"‘v4 ^ -4-9<5 | <6 ^ +4+9<7 ^ _:"M"‘^8 ^ _:"Z"‘^9 >:"@"‘!^
Stack (bottom → top)104 1
Input
h
ello, world!
Output
uryyb, jbeyq!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ROT13
1 >˜:"‘"‘!v2 ,v _:"z"‘v3 ^ _:"m"‘v4 ^ -4-9<5 | <6 ^ +4+9<7 ^ _:"M"‘^8 ^ _:"Z"‘^9 >:"@"‘!^
Stack (bottom → top)104 0
Input
h
ello, world!
Output
uryyb, jbeyq!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ROT13
1 >˜:"‘"‘!v2 ,v _:"z"‘v3 ^ _:"m"‘v4 ^ -4-9<5 | <6 ^ +4+9<7 ^ _:"M"‘^8 ^ _:"Z"‘^9 >:"@"‘!^
Stack (bottom → top)104 0
Input
h
ello, world!
Output
uryyb, jbeyq!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ROT13
1 >˜:"‘"‘!v2 ,v _:"z"‘v3 ^ _:"m"‘v4 ^ -4-9<5 | <6 ^ +4+9<7 ^ _:"M"‘^8 ^ _:"Z"‘^9 >:"@"‘!^
Stack (bottom → top)104
Input
h
ello, world!
Output
uryyb, jbeyq!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ROT13
1 >˜:"‘"‘!v2 ,v _:"z"‘v3 ^ _:"m"‘v4 ^ -4-9<5 | <6 ^ +4+9<7 ^ _:"M"‘^8 ^ _:"Z"‘^9 >:"@"‘!^
Stack (bottom → top)104 104
Input
h
ello, world!
Output
uryyb, jbeyq!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ROT13
1 >˜:"‘"‘!v2 ,v _:"z"‘v3 ^ _:"m"‘v4 ^ -4-9<5 | <6 ^ +4+9<7 ^ _:"M"‘^8 ^ _:"Z"‘^9 >:"@"‘!^
Stack (bottom → top)104 104
Input
h
ello, world!
Output
uryyb, jbeyq!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ROT13
1 >˜:"‘"‘!v2 ,v _:"z"‘v3 ^ _:"m"‘v4 ^ -4-9<5 | <6 ^ +4+9<7 ^ _:"M"‘^8 ^ _:"Z"‘^9 >:"@"‘!^
Stack (bottom → top)104 104 122
Input
h
ello, world!
Output
uryyb, jbeyq!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ROT13
1 >˜:"‘"‘!v2 ,v _:"z"‘v3 ^ _:"m"‘v4 ^ -4-9<5 | <6 ^ +4+9<7 ^ _:"M"‘^8 ^ _:"Z"‘^9 >:"@"‘!^
Stack (bottom → top)104 104 122
Input
h
ello, world!
Output
uryyb, jbeyq!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ROT13
1 >˜:"‘"‘!v2 ,v _:"z"‘v3 ^ _:"m"‘v4 ^ -4-9<5 | <6 ^ +4+9<7 ^ _:"M"‘^8 ^ _:"Z"‘^9 >:"@"‘!^
Stack (bottom → top)104 0
Input
h
ello, world!
Output
uryyb, jbeyq!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ROT13
1 >˜:"‘"‘!v2 ,v _:"z"‘v3 ^ _:"m"‘v4 ^ -4-9<5 | <6 ^ +4+9<7 ^ _:"M"‘^8 ^ _:"Z"‘^9 >:"@"‘!^
Stack (bottom → top)104 0
Input
h
ello, world!
Output
uryyb, jbeyq!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ROT13
1 >˜:"‘"‘!v2 ,v _:"z"‘v3 ^ _:"m"‘v4 ^ -4-9<5 | <6 ^ +4+9<7 ^ _:"M"‘^8 ^ _:"Z"‘^9 >:"@"‘!^
Stack (bottom → top)104
Input
h
ello, world!
Output
uryyb, jbeyq!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ROT13
1 >˜:"‘"‘!v2 ,v _:"z"‘v3 ^ _:"m"‘v4 ^ -4-9<5 | <6 ^ +4+9<7 ^ _:"M"‘^8 ^ _:"Z"‘^9 >:"@"‘!^
Stack (bottom → top)104 104
Input
h
ello, world!
Output
uryyb, jbeyq!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ROT13
1 >˜:"‘"‘!v2 ,v _:"z"‘v3 ^ _:"m"‘v4 ^ -4-9<5 | <6 ^ +4+9<7 ^ _:"M"‘^8 ^ _:"Z"‘^9 >:"@"‘!^
Stack (bottom → top)104 104
Input
h
ello, world!
Output
uryyb, jbeyq!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ROT13
1 >˜:"‘"‘!v2 ,v _:"z"‘v3 ^ _:"m"‘v4 ^ -4-9<5 | <6 ^ +4+9<7 ^ _:"M"‘^8 ^ _:"Z"‘^9 >:"@"‘!^
Stack (bottom → top)104 104 109
Input
h
ello, world!
Output
uryyb, jbeyq!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ROT13
1 >˜:"‘"‘!v2 ,v _:"z"‘v3 ^ _:"m"‘v4 ^ -4-9<5 | <6 ^ +4+9<7 ^ _:"M"‘^8 ^ _:"Z"‘^9 >:"@"‘!^
Stack (bottom → top)104 104 109
Input
h
ello, world!
Output
uryyb, jbeyq!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ROT13
1 >˜:"‘"‘!v2 ,v _:"z"‘v3 ^ _:"m"‘v4 ^ -4-9<5 | <6 ^ +4+9<7 ^ _:"M"‘^8 ^ _:"Z"‘^9 >:"@"‘!^
Stack (bottom → top)104 0
Input
h
ello, world!
Output
uryyb, jbeyq!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ROT13
1 >˜:"‘"‘!v2 ,v _:"z"‘v3 ^ _:"m"‘v4 ^ -4-9<5 | <6 ^ +4+9<7 ^ _:"M"‘^8 ^ _:"Z"‘^9 >:"@"‘!^
Stack (bottom → top)104 0
Input
h
ello, world!
Output
uryyb, jbeyq!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ROT13
1 >˜:"‘"‘!v2 ,v _:"z"‘v3 ^ _:"m"‘v4 ^ -4-9<5 | <6 ^ +4+9<7 ^ _:"M"‘^8 ^ _:"Z"‘^9 >:"@"‘!^
Stack (bottom → top)104 0
Input
h
ello, world!
Output
uryyb, jbeyq!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ROT13
1 >˜:"‘"‘!v2 ,v _:"z"‘v3 ^ _:"m"‘v4 ^ -4-9<5 | <6 ^ +4+9<7 ^ _:"M"‘^8 ^ _:"Z"‘^9 >:"@"‘!^
Stack (bottom → top)104
Input
h
ello, world!
Output
uryyb, jbeyq!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ROT13
1 >˜:"‘"‘!v2 ,v _:"z"‘v3 ^ _:"m"‘v4 ^ -4-9<5 | <6 ^ +4+9<7 ^ _:"M"‘^8 ^ _:"Z"‘^9 >:"@"‘!^
Stack (bottom → top)104
Input
h
ello, world!
Output
uryyb, jbeyq!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ROT13
1 >˜:"‘"‘!v2 ,v _:"z"‘v3 ^ _:"m"‘v4 ^ -4-9<5 | <6 ^ +4+9<7 ^ _:"M"‘^8 ^ _:"Z"‘^9 >:"@"‘!^
Stack (bottom → top)104 9
Input
h
ello, world!
Output
uryyb, jbeyq!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ROT13
1 >˜:"‘"‘!v2 ,v _:"z"‘v3 ^ _:"m"‘v4 ^ -4-9<5 | <6 ^ +4+9<7 ^ _:"M"‘^8 ^ _:"Z"‘^9 >:"@"‘!^
Stack (bottom → top)113
Input
h
ello, world!
Output
uryyb, jbeyq!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ROT13
1 >˜:"‘"‘!v2 ,v _:"z"‘v3 ^ _:"m"‘v4 ^ -4-9<5 | <6 ^ +4+9<7 ^ _:"M"‘^8 ^ _:"Z"‘^9 >:"@"‘!^
Stack (bottom → top)113 4
Input
h
ello, world!
Output
uryyb, jbeyq!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ROT13
1 >˜:"‘"‘!v2 ,v _:"z"‘v3 ^ _:"m"‘v4 ^ -4-9<5 | <6 ^ +4+9<7 ^ _:"M"‘^8 ^ _:"Z"‘^9 >:"@"‘!^
Stack (bottom → top)117
Input
h
ello, world!
Output
uryyb, jbeyq!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ROT13
1 >˜:"‘"‘!v2 ,v _:"z"‘v3 ^ _:"m"‘v4 ^ -4-9<5 | <6 ^ +4+9<7 ^ _:"M"‘^8 ^ _:"Z"‘^9 >:"@"‘!^
Stack (bottom → top)117
Input
h
ello, world!
Output
uryyb, jbeyq!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ROT13
1 >˜:"‘"‘!v2 ,v _:"z"‘v3 ^ _:"m"‘v4 ^ -4-9<5 | <6 ^ +4+9<7 ^ _:"M"‘^8 ^ _:"Z"‘^9 >:"@"‘!^
Stack (bottom → top)117
Input
h
ello, world!
Output
uryyb, jbeyq!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ROT13
1 >˜:"‘"‘!v2 ,v _:"z"‘v3 ^ _:"m"‘v4 ^ -4-9<5 | <6 ^ +4+9<7 ^ _:"M"‘^8 ^ _:"Z"‘^9 >:"@"‘!^
Stack (bottom → top)117
Input
h
ello, world!
Output
uryyb, jbeyq!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ROT13
1 >˜:"‘"‘!v2 ,v _:"z"‘v3 ^ _:"m"‘v4 ^ -4-9<5 | <6 ^ +4+9<7 ^ _:"M"‘^8 ^ _:"Z"‘^9 >:"@"‘!^
Stack (bottom → top)(empty)
Input
h
ello, world!
Outputu
ryyb, jbeyq!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: ROT13
1 >˜:"‘"‘!v2 ,v _:"z"‘v3 ^ _:"m"‘v4 ^ -4-9<5 | <6 ^ +4+9<7 ^ _:"M"‘^8 ^ _:"Z"‘^9 >:"@"‘!^
Stack (bottom → top)(empty)
Input
hello, world!
Outputuryyb, jbeyq!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Significance
Important platform: Befunge Mailing List
Many actively maintained interpreters and compilers, like befunjitIRC client with 10,000 characters
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Significance
Important platform: Befunge Mailing ListMany actively maintained interpreters and compilers, like befunjit
IRC client with 10,000 characters
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Significance
Important platform: Befunge Mailing ListMany actively maintained interpreters and compilers, like befunjitIRC client with 10,000 characters
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Variants
Other members of the Funge-98 family: Unefunge and Trefunge
Weird (only one instruction)PATH (1D source code, 2D playfield)
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Variants
Other members of the Funge-98 family: Unefunge and TrefungeWeird (only one instruction)
PATH (1D source code, 2D playfield)
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Variants
Other members of the Funge-98 family: Unefunge and TrefungeWeird (only one instruction)PATH (1D source code, 2D playfield)
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Malbolge
Created in 1998 by Ben Olmstead
Motivation: be incomprehensible andhard to useTook two years to write the firstnontrivial programMalebolge is the eighth circle of Hell inDante’s Inferno
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Malbolge
Created in 1998 by Ben OlmsteadMotivation: be incomprehensible andhard to use
Took two years to write the firstnontrivial programMalebolge is the eighth circle of Hell inDante’s Inferno
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Malbolge
Created in 1998 by Ben OlmsteadMotivation: be incomprehensible andhard to useTook two years to write the firstnontrivial program
Malebolge is the eighth circle of Hell inDante’s Inferno
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Malbolge
Created in 1998 by Ben OlmsteadMotivation: be incomprehensible andhard to useTook two years to write the firstnontrivial programMalebolge is the eighth circle of Hell inDante’s Inferno
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Description
Simple virtual machine
CPU with three registers A, C , and D310 memory cells, 10 trits each
ExecutionFor each instruction:
Subtract 33, add C , mod with 94Apply a substitution encryptionIf we now have one of j i * p / < v o, execute that instructionSubtract 33Apply a different substitution encryptionIncrement C and D
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Description
Simple virtual machineCPU with three registers A, C , and D
310 memory cells, 10 trits each
ExecutionFor each instruction:
Subtract 33, add C , mod with 94Apply a substitution encryptionIf we now have one of j i * p / < v o, execute that instructionSubtract 33Apply a different substitution encryptionIncrement C and D
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Description
Simple virtual machineCPU with three registers A, C , and D310 memory cells, 10 trits each
ExecutionFor each instruction:
Subtract 33, add C , mod with 94Apply a substitution encryptionIf we now have one of j i * p / < v o, execute that instructionSubtract 33Apply a different substitution encryptionIncrement C and D
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Description
Simple virtual machineCPU with three registers A, C , and D310 memory cells, 10 trits each
ExecutionFor each instruction:
Subtract 33, add C , mod with 94Apply a substitution encryptionIf we now have one of j i * p / < v o, execute that instructionSubtract 33Apply a different substitution encryptionIncrement C and D
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Description
Simple virtual machineCPU with three registers A, C , and D310 memory cells, 10 trits each
ExecutionFor each instruction:
Subtract 33, add C , mod with 94
Apply a substitution encryptionIf we now have one of j i * p / < v o, execute that instructionSubtract 33Apply a different substitution encryptionIncrement C and D
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Description
Simple virtual machineCPU with three registers A, C , and D310 memory cells, 10 trits each
ExecutionFor each instruction:
Subtract 33, add C , mod with 94Apply a substitution encryption
If we now have one of j i * p / < v o, execute that instructionSubtract 33Apply a different substitution encryptionIncrement C and D
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Description
Simple virtual machineCPU with three registers A, C , and D310 memory cells, 10 trits each
ExecutionFor each instruction:
Subtract 33, add C , mod with 94Apply a substitution encryptionIf we now have one of j i * p / < v o, execute that instruction
Subtract 33Apply a different substitution encryptionIncrement C and D
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Description
Simple virtual machineCPU with three registers A, C , and D310 memory cells, 10 trits each
ExecutionFor each instruction:
Subtract 33, add C , mod with 94Apply a substitution encryptionIf we now have one of j i * p / < v o, execute that instructionSubtract 33
Apply a different substitution encryptionIncrement C and D
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Description
Simple virtual machineCPU with three registers A, C , and D310 memory cells, 10 trits each
ExecutionFor each instruction:
Subtract 33, add C , mod with 94Apply a substitution encryptionIf we now have one of j i * p / < v o, execute that instructionSubtract 33Apply a different substitution encryption
Increment C and D
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Description
Simple virtual machineCPU with three registers A, C , and D310 memory cells, 10 trits each
ExecutionFor each instruction:
Subtract 33, add C , mod with 94Apply a substitution encryptionIf we now have one of j i * p / < v o, execute that instructionSubtract 33Apply a different substitution encryptionIncrement C and D
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Hello world
1 (=<`$9]7<5 YXz7wT .3,+O/o'K%$H"'~D|#z@b=`{^Lx8%$X2 mrkpohm -kNi;gsedcba `_^]\[ ZYXWVUTSRQPONMLKJIHGFE3 DCBA@ ? >= <;:9876543s+O<oLm
OutputHEllO WORld
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Hello world
1 (=<`$9]7<5 YXz7wT .3,+O/o'K%$H"'~D|#z@b=`{^Lx8%$X2 mrkpohm -kNi;gsedcba `_^]\[ ZYXWVUTSRQPONMLKJIHGFE3 DCBA@ ? >= <;:9876543s+O<oLm
OutputHEllO WORld
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Significance
Cryptanalysis by Louis Scheffer around 2005
Appearance in Elementary S01E10:
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Significance
Cryptanalysis by Louis Scheffer around 2005Appearance in Elementary S01E10:
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Shakespeare
Created in 2001 by Karl Hasselström and Jon Åslund
Motivation: homework in their Syntax Analysis classThemed language“combines the expressiveness of BASIC with the user-friendliness of assemblylanguage”
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Shakespeare
Created in 2001 by Karl Hasselström and Jon ÅslundMotivation: homework in their Syntax Analysis class
Themed language“combines the expressiveness of BASIC with the user-friendliness of assemblylanguage”
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Shakespeare
Created in 2001 by Karl Hasselström and Jon ÅslundMotivation: homework in their Syntax Analysis classThemed language
“combines the expressiveness of BASIC with the user-friendliness of assemblylanguage”
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Shakespeare
Created in 2001 by Karl Hasselström and Jon ÅslundMotivation: homework in their Syntax Analysis classThemed language“combines the expressiveness of BASIC with the user-friendliness of assemblylanguage”
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
1 A drama by the numbers.23 Juliet, a young Italian lady.4 Romeo, the rich Count.5 Mercutio, his spacy rival.
Variables
JulietRomeoMercutio
Output
11 2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
1 A drama by the numbers.23 Juliet, a young Italian lady.4 Romeo, the rich Count.5 Mercutio, his spacy rival.
Variables
JulietRomeoMercutio
Output
11 2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
1 A drama by the numbers.23 Juliet, a young Italian lady.4 Romeo, the rich Count.5 Mercutio, his spacy rival.
VariablesJuliet 0 off
RomeoMercutio
Output
11 2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
1 A drama by the numbers.23 Juliet, a young Italian lady.4 Romeo, the rich Count.5 Mercutio, his spacy rival.
VariablesJuliet 0 offRomeo 0 off
Mercutio
Output
11 2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
1 A drama by the numbers.23 Juliet, a young Italian lady.4 Romeo, the rich Count.5 Mercutio, his spacy rival.
VariablesJuliet 0 offRomeo 0 offMercutio 0 off
Output
11 2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
6 Act I: The Act where it all happens.7 Scene I: Juliet insults everyone.89 [Enter Juliet and Mercutio]1011 Mercutio: You charming angel! You are as12 beautiful as a flower!13 Juliet: You are a disgusting smelly lying14 rotten dirty pig! You are as small as15 the difference between nothing and16 thyself!1718 [Exit Mercutio]19 [Enter Romeo]2021 Juliet: You devil! You are nothing!22 Romeo: Open your heart! Remember me!2324 [Exit Juliet]
VariablesJuliet 0 offRomeo 0 offMercutio 0 off
Output
11 2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
6 Act I: The Act where it all happens.7 Scene I: Juliet insults everyone.89 [Enter Juliet and Mercutio]1011 Mercutio: You charming angel! You are as12 beautiful as a flower!13 Juliet: You are a disgusting smelly lying14 rotten dirty pig! You are as small as15 the difference between nothing and16 thyself!1718 [Exit Mercutio]19 [Enter Romeo]2021 Juliet: You devil! You are nothing!22 Romeo: Open your heart! Remember me!2324 [Exit Juliet]
VariablesJuliet 0 offRomeo 0 offMercutio 0 off
Output
11 2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
6 Act I: The Act where it all happens.7 Scene I: Juliet insults everyone.89 [Enter Juliet and Mercutio]1011 Mercutio: You charming angel! You are as12 beautiful as a flower!13 Juliet: You are a disgusting smelly lying14 rotten dirty pig! You are as small as15 the difference between nothing and16 thyself!1718 [Exit Mercutio]19 [Enter Romeo]2021 Juliet: You devil! You are nothing!22 Romeo: Open your heart! Remember me!2324 [Exit Juliet]
VariablesJuliet 0 onRomeo 0 offMercutio 0 on
Output
11 2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
6 Act I: The Act where it all happens.7 Scene I: Juliet insults everyone.89 [Enter Juliet and Mercutio]1011 Mercutio: You charming angel! You are as12 beautiful as a flower!13 Juliet: You are a disgusting smelly lying14 rotten dirty pig! You are as small as15 the difference between nothing and16 thyself!1718 [Exit Mercutio]19 [Enter Romeo]2021 Juliet: You devil! You are nothing!22 Romeo: Open your heart! Remember me!2324 [Exit Juliet]
VariablesJuliet 2 onRomeo 0 offMercutio 0 on
Output
11 2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
6 Act I: The Act where it all happens.7 Scene I: Juliet insults everyone.89 [Enter Juliet and Mercutio]1011 Mercutio: You charming angel! You are as12 beautiful as a flower!13 Juliet: You are a disgusting smelly lying14 rotten dirty pig! You are as small as15 the difference between nothing and16 thyself!1718 [Exit Mercutio]19 [Enter Romeo]2021 Juliet: You devil! You are nothing!22 Romeo: Open your heart! Remember me!2324 [Exit Juliet]
VariablesJuliet 1 onRomeo 0 offMercutio 0 on
Output
11 2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
6 Act I: The Act where it all happens.7 Scene I: Juliet insults everyone.89 [Enter Juliet and Mercutio]1011 Mercutio: You charming angel! You are as12 beautiful as a flower!13 Juliet: You are a disgusting smelly lying14 rotten dirty pig! You are as small as15 the difference between nothing and16 thyself!1718 [Exit Mercutio]19 [Enter Romeo]2021 Juliet: You devil! You are nothing!22 Romeo: Open your heart! Remember me!2324 [Exit Juliet]
VariablesJuliet 1 onRomeo 0 offMercutio -32 on
Output
11 2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
6 Act I: The Act where it all happens.7 Scene I: Juliet insults everyone.89 [Enter Juliet and Mercutio]1011 Mercutio: You charming angel! You are as12 beautiful as a flower!13 Juliet: You are a disgusting smelly lying14 rotten dirty pig! You are as small as15 the difference between nothing and16 thyself!1718 [Exit Mercutio]19 [Enter Romeo]2021 Juliet: You devil! You are nothing!22 Romeo: Open your heart! Remember me!2324 [Exit Juliet]
VariablesJuliet 1 onRomeo 0 offMercutio 32 on
Output
11 2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
6 Act I: The Act where it all happens.7 Scene I: Juliet insults everyone.89 [Enter Juliet and Mercutio]1011 Mercutio: You charming angel! You are as12 beautiful as a flower!13 Juliet: You are a disgusting smelly lying14 rotten dirty pig! You are as small as15 the difference between nothing and16 thyself!1718 [Exit Mercutio]19 [Enter Romeo]2021 Juliet: You devil! You are nothing!22 Romeo: Open your heart! Remember me!2324 [Exit Juliet]
VariablesJuliet 1 onRomeo 0 offMercutio 32 off
Output
11 2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
6 Act I: The Act where it all happens.7 Scene I: Juliet insults everyone.89 [Enter Juliet and Mercutio]1011 Mercutio: You charming angel! You are as12 beautiful as a flower!13 Juliet: You are a disgusting smelly lying14 rotten dirty pig! You are as small as15 the difference between nothing and16 thyself!1718 [Exit Mercutio]19 [Enter Romeo]2021 Juliet: You devil! You are nothing!22 Romeo: Open your heart! Remember me!2324 [Exit Juliet]
VariablesJuliet 1 onRomeo 0 onMercutio 32 off
Output
11 2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
6 Act I: The Act where it all happens.7 Scene I: Juliet insults everyone.89 [Enter Juliet and Mercutio]1011 Mercutio: You charming angel! You are as12 beautiful as a flower!13 Juliet: You are a disgusting smelly lying14 rotten dirty pig! You are as small as15 the difference between nothing and16 thyself!1718 [Exit Mercutio]19 [Enter Romeo]2021 Juliet: You devil! You are nothing!22 Romeo: Open your heart! Remember me!2324 [Exit Juliet]
VariablesJuliet 1 onRomeo -1 onMercutio 32 off
Output
11 2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
6 Act I: The Act where it all happens.7 Scene I: Juliet insults everyone.89 [Enter Juliet and Mercutio]1011 Mercutio: You charming angel! You are as12 beautiful as a flower!13 Juliet: You are a disgusting smelly lying14 rotten dirty pig! You are as small as15 the difference between nothing and16 thyself!1718 [Exit Mercutio]19 [Enter Romeo]2021 Juliet: You devil! You are nothing!22 Romeo: Open your heart! Remember me!2324 [Exit Juliet]
VariablesJuliet 1 onRomeo 0 onMercutio 32 off
Output
11 2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
6 Act I: The Act where it all happens.7 Scene I: Juliet insults everyone.89 [Enter Juliet and Mercutio]1011 Mercutio: You charming angel! You are as12 beautiful as a flower!13 Juliet: You are a disgusting smelly lying14 rotten dirty pig! You are as small as15 the difference between nothing and16 thyself!1718 [Exit Mercutio]19 [Enter Romeo]2021 Juliet: You devil! You are nothing!22 Romeo: Open your heart! Remember me!2324 [Exit Juliet]
VariablesJuliet 1 onRomeo 0 onMercutio 32 off
Output1
1 2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
6 Act I: The Act where it all happens.7 Scene I: Juliet insults everyone.89 [Enter Juliet and Mercutio]1011 Mercutio: You charming angel! You are as12 beautiful as a flower!13 Juliet: You are a disgusting smelly lying14 rotten dirty pig! You are as small as15 the difference between nothing and16 thyself!1718 [Exit Mercutio]19 [Enter Romeo]2021 Juliet: You devil! You are nothing!22 Romeo: Open your heart! Remember me!2324 [Exit Juliet]
VariablesJuliet 1 (0) onRomeo 0 onMercutio 32 off
Output1
1 2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
6 Act I: The Act where it all happens.7 Scene I: Juliet insults everyone.89 [Enter Juliet and Mercutio]1011 Mercutio: You charming angel! You are as12 beautiful as a flower!13 Juliet: You are a disgusting smelly lying14 rotten dirty pig! You are as small as15 the difference between nothing and16 thyself!1718 [Exit Mercutio]19 [Enter Romeo]2021 Juliet: You devil! You are nothing!22 Romeo: Open your heart! Remember me!2324 [Exit Juliet]
VariablesJuliet 1 (0) offRomeo 0 onMercutio 32 off
Output1
1 2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
26 Scene II: The rival’s encounter.2728 [Enter Mercutio]2930 Romeo: Are you better than me? If not, let31 us proceed to scene IV. Speak your mind!3233 Mercutio: You are as miserable as the sum34 of thyself and a stone wall! Remember35 yourself!3637 [Exit Mercutio]
VariablesJuliet 1 (0) offRomeo 0 onMercutio 32 off
Output1
1 2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
26 Scene II: The rival’s encounter.2728 [Enter Mercutio]2930 Romeo: Are you better than me? If not, let31 us proceed to scene IV. Speak your mind!3233 Mercutio: You are as miserable as the sum34 of thyself and a stone wall! Remember35 yourself!3637 [Exit Mercutio]
VariablesJuliet 1 (0) offRomeo 0 onMercutio 32 on
Output1
1 2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
26 Scene II: The rival’s encounter.2728 [Enter Mercutio]2930 Romeo: Are you better than me? If not, let31 us proceed to scene IV. Speak your mind!3233 Mercutio: You are as miserable as the sum34 of thyself and a stone wall! Remember35 yourself!3637 [Exit Mercutio]
VariablesJuliet 1 (0) offRomeo 0 onMercutio 32 on
Output1
1 2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
26 Scene II: The rival’s encounter.2728 [Enter Mercutio]2930 Romeo: Are you better than me? If not, let31 us proceed to scene IV. Speak your mind!3233 Mercutio: You are as miserable as the sum34 of thyself and a stone wall! Remember35 yourself!3637 [Exit Mercutio]
VariablesJuliet 1 (0) offRomeo 0 onMercutio 32 on
Output1
1 2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
26 Scene II: The rival’s encounter.2728 [Enter Mercutio]2930 Romeo: Are you better than me? If not, let31 us proceed to scene IV. Speak your mind!3233 Mercutio: You are as miserable as the sum34 of thyself and a stone wall! Remember35 yourself!3637 [Exit Mercutio]
VariablesJuliet 1 (0) offRomeo 0 onMercutio 32 on
Output1␣
1 2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
26 Scene II: The rival’s encounter.2728 [Enter Mercutio]2930 Romeo: Are you better than me? If not, let31 us proceed to scene IV. Speak your mind!3233 Mercutio: You are as miserable as the sum34 of thyself and a stone wall! Remember35 yourself!3637 [Exit Mercutio]
VariablesJuliet 1 (0) offRomeo 1 onMercutio 32 on
Output1␣
1 2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
26 Scene II: The rival’s encounter.2728 [Enter Mercutio]2930 Romeo: Are you better than me? If not, let31 us proceed to scene IV. Speak your mind!3233 Mercutio: You are as miserable as the sum34 of thyself and a stone wall! Remember35 yourself!3637 [Exit Mercutio]
VariablesJuliet 1 (0) offRomeo 1 (1) onMercutio 32 on
Output1␣
1 2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
26 Scene II: The rival’s encounter.2728 [Enter Mercutio]2930 Romeo: Are you better than me? If not, let31 us proceed to scene IV. Speak your mind!3233 Mercutio: You are as miserable as the sum34 of thyself and a stone wall! Remember35 yourself!3637 [Exit Mercutio]
VariablesJuliet 1 (0) offRomeo 1 (1) onMercutio 32 off
Output1␣
1 2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
39 Scene III: Can I have your number?4041 [Enter Juliet]4243 Juliet: You are me!4445 Romeo: Recall our eternal love! You are as46 happy as the sum of thyself and me. Open47 your heart! Remember me!4849 Juliet: Recall that we all must die.5051 [Exit Juliet]5253 Romeo: We must return to scene II!
VariablesJuliet 1 (0) offRomeo 1 (1) onMercutio 32 off
Output1␣
1 2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
39 Scene III: Can I have your number?4041 [Enter Juliet]4243 Juliet: You are me!4445 Romeo: Recall our eternal love! You are as46 happy as the sum of thyself and me. Open47 your heart! Remember me!4849 Juliet: Recall that we all must die.5051 [Exit Juliet]5253 Romeo: We must return to scene II!
VariablesJuliet 1 (0) onRomeo 1 (1) onMercutio 32 off
Output1␣
1 2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
39 Scene III: Can I have your number?4041 [Enter Juliet]4243 Juliet: You are me!4445 Romeo: Recall our eternal love! You are as46 happy as the sum of thyself and me. Open47 your heart! Remember me!4849 Juliet: Recall that we all must die.5051 [Exit Juliet]5253 Romeo: We must return to scene II!
VariablesJuliet 1 (0) onRomeo 1 (1) onMercutio 32 off
Output1␣
1 2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
39 Scene III: Can I have your number?4041 [Enter Juliet]4243 Juliet: You are me!4445 Romeo: Recall our eternal love! You are as46 happy as the sum of thyself and me. Open47 your heart! Remember me!4849 Juliet: Recall that we all must die.5051 [Exit Juliet]5253 Romeo: We must return to scene II!
VariablesJuliet 0 onRomeo 1 (1) onMercutio 32 off
Output1␣
1 2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
39 Scene III: Can I have your number?4041 [Enter Juliet]4243 Juliet: You are me!4445 Romeo: Recall our eternal love! You are as46 happy as the sum of thyself and me. Open47 your heart! Remember me!4849 Juliet: Recall that we all must die.5051 [Exit Juliet]5253 Romeo: We must return to scene II!
VariablesJuliet 1 onRomeo 1 (1) onMercutio 32 off
Output1␣
1 2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
39 Scene III: Can I have your number?4041 [Enter Juliet]4243 Juliet: You are me!4445 Romeo: Recall our eternal love! You are as46 happy as the sum of thyself and me. Open47 your heart! Remember me!4849 Juliet: Recall that we all must die.5051 [Exit Juliet]5253 Romeo: We must return to scene II!
VariablesJuliet 1 onRomeo 1 (1) onMercutio 32 off
Output1␣1
2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
39 Scene III: Can I have your number?4041 [Enter Juliet]4243 Juliet: You are me!4445 Romeo: Recall our eternal love! You are as46 happy as the sum of thyself and me. Open47 your heart! Remember me!4849 Juliet: Recall that we all must die.5051 [Exit Juliet]5253 Romeo: We must return to scene II!
VariablesJuliet 1 (1) onRomeo 1 (1) onMercutio 32 off
Output1␣1
2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
39 Scene III: Can I have your number?4041 [Enter Juliet]4243 Juliet: You are me!4445 Romeo: Recall our eternal love! You are as46 happy as the sum of thyself and me. Open47 your heart! Remember me!4849 Juliet: Recall that we all must die.5051 [Exit Juliet]5253 Romeo: We must return to scene II!
VariablesJuliet 1 (1) onRomeo 1 onMercutio 32 off
Output1␣1
2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
39 Scene III: Can I have your number?4041 [Enter Juliet]4243 Juliet: You are me!4445 Romeo: Recall our eternal love! You are as46 happy as the sum of thyself and me. Open47 your heart! Remember me!4849 Juliet: Recall that we all must die.5051 [Exit Juliet]5253 Romeo: We must return to scene II!
VariablesJuliet 1 (1) offRomeo 1 onMercutio 32 off
Output1␣1
2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
39 Scene III: Can I have your number?4041 [Enter Juliet]4243 Juliet: You are me!4445 Romeo: Recall our eternal love! You are as46 happy as the sum of thyself and me. Open47 your heart! Remember me!4849 Juliet: Recall that we all must die.5051 [Exit Juliet]5253 Romeo: We must return to scene II!
VariablesJuliet 1 (1) offRomeo 1 onMercutio 32 off
Output1␣1
2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
26 Scene II: The rival’s encounter.2728 [Enter Mercutio]2930 Romeo: Are you better than me? If not, let31 us proceed to scene IV. Speak your mind!3233 Mercutio: You are as miserable as the sum34 of thyself and a stone wall! Remember35 yourself!3637 [Exit Mercutio]
VariablesJuliet 1 (1) offRomeo 1 onMercutio 32 off
Output1␣1
2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
26 Scene II: The rival’s encounter.2728 [Enter Mercutio]2930 Romeo: Are you better than me? If not, let31 us proceed to scene IV. Speak your mind!3233 Mercutio: You are as miserable as the sum34 of thyself and a stone wall! Remember35 yourself!3637 [Exit Mercutio]
VariablesJuliet 3524578 offRomeo 32 onMercutio 32 off
Output1 1 2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811 514229
832040 1346269 2178309 3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
26 Scene II: The rival’s encounter.2728 [Enter Mercutio]2930 Romeo: Are you better than me? If not, let31 us proceed to scene IV. Speak your mind!3233 Mercutio: You are as miserable as the sum34 of thyself and a stone wall! Remember35 yourself!3637 [Exit Mercutio]
VariablesJuliet 3524578 offRomeo 32 onMercutio 32 on
Output1 1 2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
26 Scene II: The rival’s encounter.2728 [Enter Mercutio]2930 Romeo: Are you better than me? If not, let31 us proceed to scene IV. Speak your mind!3233 Mercutio: You are as miserable as the sum34 of thyself and a stone wall! Remember35 yourself!3637 [Exit Mercutio]
VariablesJuliet 3524578 offRomeo 32 onMercutio 32 on
Output1 1 2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
26 Scene II: The rival’s encounter.2728 [Enter Mercutio]2930 Romeo: Are you better than me? If not, let31 us proceed to scene IV. Speak your mind!3233 Mercutio: You are as miserable as the sum34 of thyself and a stone wall! Remember35 yourself!3637 [Exit Mercutio]
VariablesJuliet 3524578 offRomeo 32 onMercutio 32 on
Output1 1 2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Example: Fibonacci sequence
55 Scene IV: The finale.5657 Mercutio: Are you better than me? You58 bastard.5960 [Exit Mercutio]61 [Enter Juliet]6263 Romeo: You are my pretty rose!6465 Juliet: You coward! You are as bad as66 Mercutio. Recall my final goodbye.6768 [Exit Juliet]6970 Romeo: Am I as cursed as a damned hound?
VariablesJuliet 3524578 offRomeo 32 onMercutio 32 on
Output1 1 2 3 5 8 13 21 34 55 89 144
233 377 610 987 1597 2584 4181
6765 10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Significance
DeCSS implementation would be protected by free speech laws
Actual Shakespeare performance in 2007:
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Significance
DeCSS implementation would be protected by free speech lawsActual Shakespeare performance in 2007:
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Other themed lanauges
Chef (recipes)
Taxi (directions for a taxi driver)LOLCODE (IM IN YR LOOP, KTHXBYE)FiM++ (Dear Princess Celestia. . . )
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Other themed lanauges
Chef (recipes)Taxi (directions for a taxi driver)
LOLCODE (IM IN YR LOOP, KTHXBYE)FiM++ (Dear Princess Celestia. . . )
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Other themed lanauges
Chef (recipes)Taxi (directions for a taxi driver)LOLCODE (IM IN YR LOOP, KTHXBYE)
FiM++ (Dear Princess Celestia. . . )
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Other themed lanauges
Chef (recipes)Taxi (directions for a taxi driver)LOLCODE (IM IN YR LOOP, KTHXBYE)FiM++ (Dear Princess Celestia. . . )
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
More examples
Piet (abstract paintings)
Aceto (follows a Hilbert curve through the sourcecode)Whitespace (uses only space, tab, and return)/// (the only operation is string substitution)Velato (MIDI, tends to create jazz)
Visit esolangs.org for (many, many) more!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
More examples
Piet (abstract paintings)Aceto (follows a Hilbert curve through the sourcecode)
Whitespace (uses only space, tab, and return)/// (the only operation is string substitution)Velato (MIDI, tends to create jazz)
Visit esolangs.org for (many, many) more!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
More examples
Piet (abstract paintings)Aceto (follows a Hilbert curve through the sourcecode)Whitespace (uses only space, tab, and return)
/// (the only operation is string substitution)Velato (MIDI, tends to create jazz)
Visit esolangs.org for (many, many) more!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
More examples
Piet (abstract paintings)Aceto (follows a Hilbert curve through the sourcecode)Whitespace (uses only space, tab, and return)/// (the only operation is string substitution)
Velato (MIDI, tends to create jazz)
Visit esolangs.org for (many, many) more!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
More examples
Piet (abstract paintings)Aceto (follows a Hilbert curve through the sourcecode)Whitespace (uses only space, tab, and return)/// (the only operation is string substitution)Velato (MIDI, tends to create jazz)
Visit esolangs.org for (many, many) more!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
More examples
Piet (abstract paintings)Aceto (follows a Hilbert curve through the sourcecode)Whitespace (uses only space, tab, and return)/// (the only operation is string substitution)Velato (MIDI, tends to create jazz)
Visit esolangs.org for (many, many) more!
Introduction Brainfuck INTERCAL Befunge Malbolge Shakespeare Conclusion
Thanks!
[email protected]://morr.cc
@blinry
Slides and references: morr.cc/esolangs/