What is Minus?

Minus Home
What is Minus?
Basics
Proof of Concept
Extensions
Implementations
Examples
Files
Self Interpreter

Minus is my first attempt at an esoteric programming language. It probably isn't all that unique, since it is pretty similar to brainfuck. It's goal is not to be hard to program in or have the the smallest compiler. It's goal is to be as useful while being as simple and having a simple interpreter. Originally my goal was to see if I could create a language based solely on the minus equal operator. Once I wrote the the first interpreter and program (which was a program to compute the first 46 fibonacci numbers), I was amazed that program was actually pretty short (27 bytes).

My shortest interpreter so far is 165 bytes in ruby. This implementation is very inefficient and won't even work for all Minus programs because it imposes arbitrary limits to memory size and number of execution steps. 165 is more than brainfuck, but not be a whole lot, especially when you take into consideration that my brainfuck interpreter is actually a bf to ruby converter taking advantage of ruby's parsing of while statements and just evaling it.

I was motivated to create Minus after reading an article about a very short self interpreter. My goal was not to create a language specifically for a short self interpreter (although I may try and create another language for that purpose), but to create a language whose only instruction is minus.