Comments:" Malone Dot CC · LHBS #1: Intro "
URL:http://malone.cc/posts/lhbs_1.html
I'm bored. Let's build an entire programming environment around Brainfuck.
Before We Start
Before anything else, I will assume you know what Brainfuck is and how it works. If you're reading this you're probably a programmer or at the very least a nerd, so there's a good chance you've already heard of it. If not, click that Wikipedia link, learn about it and come back. This is required reading, people.
Also if you don't know about them already, you may want to learn a little about assembly-languages, low-level languages, high-level languages, programming in general and Brushy One-String.
That last one has nothing to do with this project; I just really like Brushy One-String.
Our Roadmap
As I said, we are going to create an entire programming environment around Brainfuck. This requires a few layers:
Building a basic Brainfuck interpreter and extending it with new features and operators. Creating a simple assembly-style language that compiles to Brainfuck "bytecode". Moving higher with a C-style low-level language that compiles to our assembly language. Finally we'll make a Lisp-style high-level language using everything we've done so far.Here's how we'll implement this monstrosity:
Lobe, our custom Brainfuck interpreter will be written in Python 31. Head, our assembly language will be written in Lobe. Body, our low-level language will be written in Head. Soul, our high-level language will be written in Body.That's our plan: making four concentric languages called Lobe, Head, Body and Soul (LHBS)2 with a crap-ton of Brainfuck under it all.
Let's Go
Why do any of this? Because it's fun, duh. Because re-inventing something is the best way to learn about that something. Also because I don't feel like making websites right now.
Stay tuned for more updates.