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.
RedefineFuck
Jump to navigation
Jump to search
RedefineFuck is brainfuck but you need to redefine symbols to run loops, if statements, etc.
Instructions
There are 5 instructions and 6 symbols. whitespaces are ignored, cAsE SeNsItIvE.
Initial instructions
| instruction | meaning | brainf**k rough equalivant |
|---|---|---|
| @ | increase 1 | + |
| [ | data pointer goes right | > |
| &x&...* | (re)define x to be ... then ptr left | None |
| ] | if x==0 skip else x-=1 | [->->++<]>>[-<<+>>]<<[[-]>-x<][-<+>]< |
| $ | input if x==0 else output x-1 | >[-]<[>+<-.[-]]>[<,>-]< |
Instruction name can NOT contain any of the initial instructions. Brackets should match, or a @ have a 1% chance to fail.
Computational level
| BF | RF | Notes |
|---|---|---|
| + | @ | |
| - | &-&*[]- | |
| > | [ | |
| < | &!&* | |
| [...] | &_&*[&a&@...]a_*]a_ | 'a' is a placeholder, each symbol should be different |
| , | &_&*[&a&@&-&*[]-]a_*]a_$ | |
| . | @$&-&*[]- |
Example(s)
Hello, World! (using wraps on 256)
@&_&*[&a&@&-&*[]-&-&*[]-[&-&*[]-&_&*[&a&@[[@[&-&*[]-&-&*[]-&-&*[]-&-&*[]-&- &*[]-&!&*&!&*]a_*]a_&!&*&-&*[]-&-&*[]-&!&*&-&*[]-&-&*[]-&-&*[]-]a_*]a_[&-&* []-@$&-&*[]-[[[@@$&-&*[]-[[@$&-&*[]-@$&-&*[]-@@@&_&*[&a&@@$&-&*[]-[]a_*]a_& !&*&!&*&!&*&!&*@$&-&*[]-@@@@$&-&*[]-&-&*[]-&-&*[]-&-&*[]-&-&*[]-&-&*[]-&-&* []-@$&-&*[]-&!&*&!&*&-&*[]-@$&-&*[]-[[[[@@$&-&*[]-]-]-]-]-]-]-]-]-]-]-]-]--
Cat, eof returns 0
[[[[@&_&*>&a&@&_&*>&b&@&-&*[]-]b_*]b-$@$&-&*[]-]a_*]a_
Looping counter
@&_&*[&a&@[[&_&*[&r&@[]r_*]r_@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&_&* [&r&@&!&*]r_*]r_[&_&*[&r&@@$&-&*[]-[]r_*]r_@@@@@@@@@@@$&-&*[]-&-&*[]-&-&*[] -&-&*[]-&-&*[]-&-&*[]-&-&*[]-&-&*[]-&-&*[]-&-&*[]-&-&*[]-&!&*&_&*[&r&@&!&*] r_*]r_&!&*]a_*]a_