Syntax: > increments the pointer p (adds 1) < decrements the pointer p (adds 2) + increments the value p points to (item p of m) - decrements the value p points to [ jumps to the matching ] if the value p points to is 0, otherwise does nothing ] jumps to the previous matching [ if p points to 0, otherwise does nothing (these 2 commands basically implement a while loop) , asks for a numerical input and stores it where p points . says the value p points to as output Anything else is ignored. The above commands make the language Turing Complete (but I won't link to a proof because the language has a swear word in it) It's undefined if you try to go left of the tape, or if you leave your square brackets unbalanced, or input something that's not a number. Examples: Cat: +[,.] (says what you type until it's 0) Adder: ,>,[-<+>]<. (doesn't work if second input is negative) Subtracter: ,>,[-<->]<. (doesn't work if second input is negative) Multiplier: ,>>,[-<<[->+>>+<<<]>[-<+>]>]>. (doesn't work for negatives) Fibonacci calculator: +>+<[.[->+>+<<]>] (doesn't stop)
My entry to the scratch golf challenge on the Advanced Topics subforum - https://scratch.mit.edu/discuss/topic/197523 I'm not going to say the real name of the programming language because it has a swear word in it. If you want to research its turing completeness, I'd recommend google P" (an equivalent language without IO) instead.