brainfork (interpreter)

From Esolang
Jump to navigation Jump to search
Not to be confused with brainfork.


brainfork

brainfork is a brainfuck interpreter written by User:SpaceByte it was her first experience writing anything esolang related and originally turned out pretty bad, but functional. It was written in C# with minimal lines of code and had two revisions.

Usages

Brainfork was used by its creator for many purposes. Before the second revision, it was used (source code is visible on the second branch on github aswell), to launch a discord bot via brainfuck code, by hooking into the interpreter. Brainfork was also used to create bifuck, also starting the second revision of brainfork.

Developmental Issues

Variable limits

When writing brainfork, it's creator had multiple issues creating it, most notably, min/max issues. When writing it, the creator was not sure what the minimum and maximums were for brainfuck, and watched variables in loops closely on an online interpreter. This interpreter cited the variables as ranging from -128 to 128, rather than 0 to 512, however, programs execute the same regardless of which one you use, so SpaceByte went with the range of -128 to 128.

File Loading

A major oversight in the development of brainfork was the way code was loaded via file. In the first revision it loaded via the pdb file in the application on the 8th line. Which was changed in the second revision to load code.bf instead, and changed the way the directory was found, as the first revision did not work properly, and caused issues when running the program compiled as a self contained application.

Revisions

The first revision can be found here on github as source code.

The second revisions source code is available here on gist.