A befunge interpreter written in go.
More specifically, this is a befunge93 interpreter. It can run files with all befunge93 supported characters. The size of the grid is the standard 80x25. Characters outside of this grid will not be parsed, so this space can be used for comments. If the file has a smaller grid, it is padded with spaces.
Create a file with a befunge program in it (e.g. factorial.bf, this program asks the user for a number and calculates the factorial). Then run in a terminal:
befunge factorial.bf
There is a basic debug mode. Instead of going through the whole program at once, the interpreter pauses at every step. It then prints the position of the PC, the character under the PC and the current stack. Enable debug mode by adding the '-debug' flag before the file name.