A Brainfuck interpreter that performs optimizations.
The optimizations include
- Merging addition and subtraction operations
- Merging pointer shifting operations
- Converting
[-]
and[+]
toClear
commands - Converting loops like
[->+>>+++<<<]
toCopy
commands
This interpreter also utilizes mutable vectors and monad transformers for fast read/write operations.