We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.
JumpFuck
Jump to navigation
Jump to search
Brainfuck, but with some differences:
- Unbounded cell size. (already done by many BF interpreters)
- Automatically expanding tape. (ditto)
- An extra block of memory (also automatically expanding) containing jump points.
- Two extra commands:
& Replace the jump point whose ID is in the current cell with the current jump point, and
change the current cell to 0 if we come from & or the argument if we come from %.
% Jump to the point whose ID is in the current cell, using the next cell as an argument.
This makes it far easier to compile to.
Examples
Infinite loop
(Admittedly, you don't actually need jump points to do this.)
+&>+++++++.<[-]+%
Implementations
weave.rb interprets JumpFuck with the -j flag.