Here's a riddle: it's the weekend, about a week before CC23 is due. You're progress is approximately zero, you can't be bothered to work on the one project of merit that you've been delaying for a year, and you are also determined to continue procrastinating your actual school work. What do you?
Why, invent an esolang, of course! Nonsense is an esoteric programming language based around English words; any and every English sentence you could write is a valid program, though most programs that do anything remotely useful will probably be nonsensical jumbles of words and numbers.
How do you write programs in Nonsense? Well, to avoid just repeating the documentation found in the GitHub repo, the basic principles are:
The repo includes some sample programs and specific descriptions of each instruction, as well as an interpreter I mocked up in Python for actually executing Nonsense programs. I'll eventually get around to making a program page with tutorials and better docs and all that, but this should be sufficient to get going. For example,
Hello World!
Code:
I'm pretty proud of how the language has turned out, as it is both reasonably powerful (read: it's not just BF with different symbols) but also rather challenging to write (since words must be English words). I'd be interested to see what programs you guys can come up (and how short you can get them). This esolang is also only like a week old, so suggestions for changes are definitely welcome.
Why, invent an esolang, of course! Nonsense is an esoteric programming language based around English words; any and every English sentence you could write is a valid program, though most programs that do anything remotely useful will probably be nonsensical jumbles of words and numbers.
How do you write programs in Nonsense? Well, to avoid just repeating the documentation found in the GitHub repo, the basic principles are:
- Programs are split into words, which are then split into syllables; each syllable starts and ends with a consonant with vowels in between.
Every consonant is an integer variable that can be read and written to (initially zero).
There is an arbitrarily long array for storage (like BF).
The first entry of the array is basically Ans from TI-Basic, and is always updated after each syllable.
Vowels correspond to binary and unary instructions; the first consonant of a syllable is the operand, and the last consonant is the destination (and second operand if necessary).
Punctuation is used for looping and conditionals.
The repo includes some sample programs and specific descriptions of each instruction, as well as an interpreter I mocked up in Python for actually executing Nonsense programs. I'll eventually get around to making a program page with tutorials and better docs and all that, but this should be sufficient to get going. For example,
Hello World!
Code:
72 ey 100 envoy nab 108 eyry em 111 entry 32 ey eon 119 ey try 114 ey my by nay
I'm pretty proud of how the language has turned out, as it is both reasonably powerful (read: it's not just BF with different symbols) but also rather challenging to write (since words must be English words). I'd be interested to see what programs you guys can come up (and how short you can get them). This esolang is also only like a week old, so suggestions for changes are definitely welcome.