We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.

BrainFuckFart

From Esolang
Jump to navigation Jump to search
This article is not detailed enough and needs to be expanded. Please help us by adding some more information.

BrainFuckFart

BrainFuckFart a surprisingly fun language

Concept

I started creating BrainFuckFart as a simple C++ interpreter for BrainFuck. As I went and tried to create a "More or Less" game in BrainFuck I encountered a few limitations that I went and corrected as I went. By corrected, I really mean implemented. So as I go creating bigger projects with BrainFuckFart I will keep on implementing new features.

The project can be found on this github : BrainFuckFart
This page is open to PR and issues.

Commands

Character Name Description
+ Add Add 1 to the current cell
- Subtract Subtract 1 from the current cell
> Next Move to the next cell
< Previous Move to the previous cell
[ Loop Open Go to matching ']' if cell is 0
] Loop Back Go to matching '[' if cell is not 0
| End loop if 0 Go to the end of the loop if cell is 0
( Skip if not 0 Go to matching ')' if cell is not 0
) Skip end Marks end of Skip
* Jump Jump to the cell with the index of the current cell value consuming the current cell when jumping
, Input Store 1 user input in the current cell
. Output Prints the current cell value as an ASCII character
; Input Number Store the number the user input in the current cell (What if the user inputs a non integer?)
: Output Number Prints current cell value as a number
! Output Cell Index Prints current cell index
v Load Temp Load Temp cell value in current cell value (Temp value = register, stores one value)
^ Upload Temp Set Temp cell value to current cell value
? Random Set current cell to a random number (Range?)
/ Comment Encapsulate a part that isn't read even if it contains commands

Restrictions

This language is still claiming to be a spawn of the original BrainFuck and as such it will not accept characters that looks like letters (Let's be honest 'v' is just a downward arrow). It will also avoid to implement too much user friendly features there is already one register deal with it.

Open to

Graphics, networking, compilation, File/Module system, Typing, Function

Contact

You can contact me via github and the contacts out there.