- "which is a direct translation of the original program `[->>+<<]>[->+<]`. (There's also `ptr` variable in the interpreter, tracking the current location of the brainfuck pointer, but in this case we can elide that too.) Both `while` loops here are 'really' the same `while` loop [inside our interpreter](https://github.com/MikeInnes/Mjolnir.jl/blob/78f5b5614dbab7a90463ccf409b50ad2816e9662/examples/futamura/brainfuck.jl#L50-L52), but the loop gets specialised twice for both the loops in our brainfuck code. Similarly, our multiplcation program `[->[->>+<<]>>[-<+<+>>]<<<]` gets compiled to the lowered version of\n",
0 commit comments