Elm-Brainfuck-IDE is a Brainfuck IDE that's written in Elm.
The creation of an IDE for developing Brainfuck has always been an interest of mine.
In June 2015, I began working on a Brainfuck IDE in Java. It used Java's Swing library to create a desktop application, and used fabianishere's brainfuck-java project as the brainfuck interpreter (since I was not smart enough to implement a brainfuck interpreter at the time).
After some time, (in September 2017), I decided to rewrite the IDE and have it as an online service, so you can edit brainfuck online. This became my Brainfuck_IDE_Online, which used NodeJS (express and socket.io). Unfortunately, that never really took off (it had code formatting and code unformatting, but no evaluation).
Now, in 2019, I decided to redo the project in Elm, as I am currently learning Elm for web development.
The list of things that I believe to have gained by doing this project:
- Use of
Browser.document
to gain full control over the entire webpage and interact by usingCmd
andSub
- Use of elm-css to style the webpage in a typed environment
- Use of Elm's
Cmd
system to request to load URL pages and gain a better understanding of the Elm architecture - Use of multiple files to modularize the project
The Elm-Brainfuck-IDE took inspiration from the following projects:
- copy's brainfuck interpreter - Primarily the idea to parse the entire input to the program in one go
- fatiherikli's brainfuck visualizer - UI inspiration