1
1
Fork
You've already forked brainflip
0
A human-usable brainf**k interpreter for macOS
  • Swift 97.4%
  • Brainfuck 2.6%
2026年01月18日 12:06:44 -05:00
Brainflip.xcodeproj reformat everything 2026年01月18日 12:04:04 -05:00
Docs prep BrainflipDocument for becoming a struct 2025年06月20日 17:34:35 -04:00
Sources/Brainflip add isEditable focused value 2026年01月18日 12:06:44 -05:00
.gitattributes rename .gitattributes.txt to .gitattributes 2023年08月01日 11:22:44 -04:00
.gitignore update license headers 2025年08月27日 13:56:22 -04:00
.swiftlint.yml add reducer to WhitespaceList 2025年09月19日 17:14:52 -04:00
License.md the first commit in a _very_ long time 2025年05月19日 13:59:11 -04:00
Readme.md fix readme badges 2025年08月18日 20:07:58 +02:00
target.xcconfig update license headers 2025年08月27日 13:56:22 -04:00

🧠 Brainflip

Swift 6.1 macOS Tahoe Xcode 26

a human-usable brainf**k interpreter for macOS

Overview

We've all heard of brainf**k -- you know, that "programming language" where the standard Hello, World! program looks like this:

>++++++++[<+++++++++>-]<.>++++[<+++++++>-]<+.+++++++..+++.>>++++++[<+++++++>-]<++.------------.>++++++[<+++++++++>-]<+.<.+++.------.--------.>>>++++[<++++++++>-]<+.

Not very enticing, is it? 🫤

Brainflip attempts (attempts) to remedy that.

Typical Brainflip usage.

You're provided with a relatively full-fledged editor to do your (削除) evildoings (削除ここまで) programming with. You can run programs, trim those programs to make them really unreadable, step through programs to identify that one stupid instruction that's breaking everything, and inspect just about every aspect of the interpreter, from the total instructions executed to the exact contents of the array.

Oh, and did I mention it's highly configurable? It's highly configurable. Like, really highly configurable. Like, so ridiculously configurable it's excessive.

Brainflip's interpreter settings.

(A somewhat full list of features can be found in Features.md.)

Building and Running

Open Xcode, clone this repo, and open Brainflip.xcodeproj. Once Xcode's done with package resolution, hit ⌘R to build and run the project.

References

I used the epistle to the implementors as a reference when putting together the interpreter and some of its settings.