esoteric programming languages - an introduction to ... · introduction brainfuck intercal befunge...

Post on 12-Aug-2018

235 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

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!

sebastian@morr.cchttps://morr.cc

@blinry

Slides and references: morr.cc/esolangs/

top related