Talk:MMP

This looks like a neat language! I wanted to let you know that I've written an implementation. There are a few unspecified behaviors, so I made assumptions (these are in a comment at the top of the script as well): The interpreter also supports the  instruction, which dumps program information for debugging; however, it is fairly buggy itself, so be careful!
 * Tape cells contain unbounded integers. This means that the program  never halts (this is different from BF, in which   halts because incrementing 0xFF gives 0x00). This made the most sense to me since the program space and the tape are unbounded. ,  , and   wouldn't be as useful if they could only go to places below 255!
 * Tape cells can be positive or negative. By "positions below 1 aren't assumed to exist," I assume you meant that it was undefined behavior, so my implementation does support negative tape indices.
 * All tape cells and the register start out as 0, as in BF.
 * Unrecognized commands are ignored, as in BF.
 * If control flow ever leaves the program (either through a GOTO or just through executing the last command in the program), it terminates without an error.
 * Instructions are indexed from 0 for the purposes of GOTOs. This means that the program  is an infinite loop (  increments the register to 1, and then   goes to instruction 1, which is   itself).
 * Bracket matching (for while loops) is preformed at runtime. This means that if the program never executes an unmatched loop, it will never error. For example,  halts without an error (it goes to instruction -1, which terminates the program).

The interpreter should be suitable for writing programs (although I haven't tested it thoroughly, so it will still have bugs). Please notify me if you have any requests or comments!

Challenger5 (talk) 04:26, 2 November 2017 (UTC)