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.

Velocityfuck

From Esolang
Jump to navigation Jump to search

Creator and Name

Velocityfuck is an esoteric language created by User:Esolang1. The difference from brainfuck is that the pointer can gain velocity, and it will move even when another instruction is being executed. (E1-0003)

Code

As written, the pointer can gain velocity. The initial velocity is set to 0, and then when '<' or '>' is executed, the velocity will increase or decrease. On each instruction execution, the pointer will move velocity amount of times to the right, and then execute the instruction.

Instructions

   >    Increment the pointer velocity
   <    Decrement the pointer velocity
   +    Increment the memory cell at the pointer
   -    Decrement the memory cell at the pointer
   .    Output the character signified by the cell at the pointer
   ,    Input a character and store it in the cell at the pointer
   [    Jump past the matching ']' if the cell at the pointer is 0
   ]    Jump back to the matching '[' if the cell at the pointer is nonzero
   ~    No operation, used for moving the pointer without changing anything else

I/O

The '.', ',' instructions work same as in brainfuck.

Examples

Behavior

   >+>->+

The memory and the pointer velocity will change according to the following when the code is executed. Pointer velocity is denoted with pv.

   > | pv = 1, mem = 000000000000...
     |               ^
   + | pv = 1, mem = 010000000000...
     |                ^
   > | pv = 2, mem = 010000000000...
     |                 ^
   - | pv = 2, mem = 010000000000...
     |                   ^
   > | pv = 3, mem = 010000000000...
     |                     ^
   + | pv = 3, mem = 010000000100...
                              ^