UndetailedFuck

UndetailedFuck is an esolang created by User:None1 and inspired by DetailedFuck and ThisIsNotARealLanguage. It is a brainfuck derivative.
==Commands==
UndetailedFuck's is the same as DetailedFuck except that DON'T is added to every command.
Brainfuck	DetailedFuck 	UndetailedFuck
> 	MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT 	DON'T MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT
< 	MOVE THE MEMORY POINTER ONE CELL TO THE LEFT 	DON'T MOVE THE MEMORY POINTER ONE CELL TO THE LEFT
+ 	INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE 	DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
- 	DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE 	DON'T DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
, 	REPLACE THE CELL UNDER THE MEMORY POINTER'S VALUE WITH THE ASCII CHARACTER CODE OF USER INPUT 	DON'T REPLACE THE CELL UNDER THE MEMORY POINTER'S VALUE WITH THE ASCII CHARACTER CODE OF USER INPUT
. 	PRINT THE CELL UNDER THE MEMORY POINTER'S VALUE AS AN ASCII CHARACTER 	DON'T PRINT THE CELL UNDER THE MEMORY POINTER'S VALUE AS AN ASCII CHARACTER
[ 	IF THE CELL UNDER THE MEMORY POINTER'S VALUE IS ZERO INSTEAD OF READING THE NEXT COMMAND IN THE PROGRAM JUMP TO THE CORRESPONDING COMMAND EQUIVALENT TO THE ] COMMAND IN BRAINFUCK 	IF THE CELL UNDER THE MEMORY POINTER'S VALUE IS ZERO INSTEAD OF READING THE NEXT COMMAND IN THE PROGRAM DON'T JUMP TO THE CORRESPONDING COMMAND EQUIVALENT TO THE ] COMMAND IN BRAINFUCK
] 	IF THE CELL UNDER THE MEMORY POINTER'S VALUE IS NOT ZERO INSTEAD OF READING THE NEXT COMMAND IN THE PROGRAM JUMP TO THE CORRESPONDING COMMAND EQUIVALENT TO THE [ COMMAND IN BRAINFUCK	IF THE CELL UNDER THE MEMORY POINTER'S VALUE IS NOT ZERO INSTEAD OF READING THE NEXT COMMAND IN THE PROGRAM DON'T JUMP TO THE CORRESPONDING COMMAND EQUIVALENT TO THE [ COMMAND IN BRAINFUCK
==Example Programs==
===Hello World===
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
IF THE CELL UNDER THE MEMORY POINTER'S VALUE IS ZERO INSTEAD OF READING THE NEXT COMMAND IN THE PROGRAM DON'T JUMP TO THE CORRESPONDING COMMAND EQUIVALENT TO THE ] COMMAND IN BRAINFUCK
DON'T MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
IF THE CELL UNDER THE MEMORY POINTER'S VALUE IS ZERO INSTEAD OF READING THE NEXT COMMAND IN THE PROGRAM DON'T JUMP TO THE CORRESPONDING COMMAND EQUIVALENT TO THE ] COMMAND IN BRAINFUCK
DON'T MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T MOVE THE MEMORY POINTER ONE CELL TO THE LEFT
DON'T MOVE THE MEMORY POINTER ONE CELL TO THE LEFT
DON'T MOVE THE MEMORY POINTER ONE CELL TO THE LEFT
DON'T MOVE THE MEMORY POINTER ONE CELL TO THE LEFT
DON'T DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
IF THE CELL UNDER THE MEMORY POINTER'S VALUE IS NOT ZERO INSTEAD OF READING THE NEXT COMMAND IN THE PROGRAM DON'T JUMP TO THE CORRESPONDING COMMAND EQUIVALENT TO THE [ COMMAND IN BRAINFUCK
DON'T MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT
DON'T DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT
DON'T MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
IF THE CELL UNDER THE MEMORY POINTER'S VALUE IS ZERO INSTEAD OF READING THE NEXT COMMAND IN THE PROGRAM DON'T JUMP TO THE CORRESPONDING COMMAND EQUIVALENT TO THE ] COMMAND IN BRAINFUCK
DON'T MOVE THE MEMORY POINTER ONE CELL TO THE LEFT
IF THE CELL UNDER THE MEMORY POINTER'S VALUE IS NOT ZERO INSTEAD OF READING THE NEXT COMMAND IN THE PROGRAM DON'T JUMP TO THE CORRESPONDING COMMAND EQUIVALENT TO THE [ COMMAND IN BRAINFUCK
DON'T MOVE THE MEMORY POINTER ONE CELL TO THE LEFT
DON'T DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
IF THE CELL UNDER THE MEMORY POINTER'S VALUE IS NOT ZERO INSTEAD OF READING THE NEXT COMMAND IN THE PROGRAM DON'T JUMP TO THE CORRESPONDING COMMAND EQUIVALENT TO THE [ COMMAND IN BRAINFUCK
DON'T MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT
DON'T MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT
DON'T PRINT THE CELL UNDER THE MEMORY POINTER'S VALUE AS AN ASCII CHARACTER
DON'T MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT
DON'T DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T PRINT THE CELL UNDER THE MEMORY POINTER'S VALUE AS AN ASCII CHARACTER
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T PRINT THE CELL UNDER THE MEMORY POINTER'S VALUE AS AN ASCII CHARACTER
DON'T PRINT THE CELL UNDER THE MEMORY POINTER'S VALUE AS AN ASCII CHARACTER
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T PRINT THE CELL UNDER THE MEMORY POINTER'S VALUE AS AN ASCII CHARACTER
DON'T MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT
DON'T MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT
DON'T PRINT THE CELL UNDER THE MEMORY POINTER'S VALUE AS AN ASCII CHARACTER
DON'T MOVE THE MEMORY POINTER ONE CELL TO THE LEFT
DON'T DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T PRINT THE CELL UNDER THE MEMORY POINTER'S VALUE AS AN ASCII CHARACTER
DON'T MOVE THE MEMORY POINTER ONE CELL TO THE LEFT
DON'T PRINT THE CELL UNDER THE MEMORY POINTER'S VALUE AS AN ASCII CHARACTER
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T PRINT THE CELL UNDER THE MEMORY POINTER'S VALUE AS AN ASCII CHARACTER
DON'T DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T PRINT THE CELL UNDER THE MEMORY POINTER'S VALUE AS AN ASCII CHARACTER
DON'T DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T PRINT THE CELL UNDER THE MEMORY POINTER'S VALUE AS AN ASCII CHARACTER
DON'T MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT
DON'T MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T PRINT THE CELL UNDER THE MEMORY POINTER'S VALUE AS AN ASCII CHARACTER
DON'T MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
DON'T PRINT THE CELL UNDER THE MEMORY POINTER'S VALUE AS AN ASCII CHARACTER
===Cat Program===
DON'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE
IF THE CELL UNDER THE MEMORY POINTER'S VALUE IS ZERO INSTEAD OF READING THE NEXT COMMAND IN THE PROGRAM DON'T JUMP TO THE CORRESPONDING COMMAND EQUIVALENT TO THE ] COMMAND IN BRAINFUCK
DON'T REPLACE THE CELL UNDER THE MEMORY POINTER'S VALUE WITH THE ASCII CHARACTER CODE OF USER INPUT
DON'T PRINT THE CELL UNDER THE MEMORY POINTER'S VALUE AS AN ASCII CHARACTER
IF THE CELL UNDER THE MEMORY POINTER'S VALUE IS NOT ZERO INSTEAD OF READING THE NEXT COMMAND IN THE PROGRAM DON'T JUMP TO THE CORRESPONDING COMMAND EQUIVALENT TO THE [ COMMAND IN BRAINFUCK
==Turing completeness==
OBVIOUSLY, THIS IS TURING COMPLETE BECAUSE BRAINFUCK IS!
==Interpreter==
===Python===
import sys
def undetailed_fuck(code):
 s1=[]
 s2=[]
 matches={}
 tape=[0]*1000000
 for i,j in enumerate(code):
 if j=="IF THE CELL UNDER THE MEMORY POINTER'S VALUE IS ZERO INSTEAD OF READING THE NEXT COMMAND IN THE PROGRAM DON'T JUMP TO THE CORRESPONDING COMMAND EQUIVALENT TO THE ] COMMAND IN BRAINFUCK":
 s1.append(i)
 if j=="IF THE CELL UNDER THE MEMORY POINTER'S VALUE IS NOT ZERO INSTEAD OF READING THE NEXT COMMAND IN THE PROGRAM DON'T JUMP TO THE CORRESPONDING COMMAND EQUIVALENT TO THE [ COMMAND IN BRAINFUCK":
 m=s1.pop()
 matches[m]=i
 matches[i]=m
 cp=0
 p=0
 while cp<len(code):
 if code[cp]=='DON\'T INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE':
 tape[p]=(tape[p]+1)%256
 if code[cp]=='DON\'T DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE':
 tape[p]=(tape[p]-1)%256
 if code[cp]=='DON\'T REPLACE THE CELL UNDER THE MEMORY POINTER\'S VALUE WITH THE ASCII CHARACTER CODE OF USER INPUT':
 tape[p]=ord(sys.stdin.read(1))%256
 if code[cp]=='DON\'T PRINT THE CELL UNDER THE MEMORY POINTER\'S VALUE AS AN ASCII CHARACTER':
 print(chr(tape[p]),end=)
 if code[cp]=='DON\'T MOVE THE MEMORY POINTER ONE CELL TO THE LEFT':
 p-=1
 if code[cp]=='DON\'T MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT':
 p+=1
 if code[cp]=="IF THE CELL UNDER THE MEMORY POINTER'S VALUE IS ZERO INSTEAD OF READING THE NEXT COMMAND IN THE PROGRAM DON'T JUMP TO THE CORRESPONDING COMMAND EQUIVALENT TO THE ] COMMAND IN BRAINFUCK":
 if not tape[p]:
 cp=matches[cp]
 if code[cp]=="IF THE CELL UNDER THE MEMORY POINTER'S VALUE IS NOT ZERO INSTEAD OF READING THE NEXT COMMAND IN THE PROGRAM DON'T JUMP TO THE CORRESPONDING COMMAND EQUIVALENT TO THE [ COMMAND IN BRAINFUCK":
 if tape[p]:
 cp=matches[cp]
 cp+=1
code=sys.stdin.read()
undetailed_fuck(code.split('\n'))
Category:Languages
Category:Brainfuck derivatives
Category:Brainfuck equivalents
Category:Joke languages
Category:Turing complete
Category:Implemented