Self-modifying Brainfuck extends the Brainfuck language to a von Neumann Architecture, placing the program code on the same "tape" which the program uses to store data. As a result, it is possible to write programs which modify themselves while running. This feature also brings introspection abilities (sometimes called "Reflection" or "Reflectance"), allowing Brainfuck programs to read their own source code.
<.In normal Brainfuck, attempting to access data left of the origin will produce undefined results. As a result, Self-Modifying Brainfuck can technically be described as a backwards-compatible derivative of normal Brainfuck. However, some Brainfuck interpreters allow data left of the origin to be accessed. Programs which rely on this behavior may not run correctly as a result of this alternate behavior.