The last thing the world needs is another programming language...

And yet, here I am, creating one.

That's right, I'm currently creating my own programming language. It was bound to happen; after all, there is a proud tradition amongst programmers and computer scientists to invent their own languages and processor architectures. Not being bright enough to add yet another RISC chip to the pile¹, I've decided that an esoteric programming language would be a great project!

I've been toying with some ideas for a couple of months, now. It started off with the idea that functions should be values themselves, although at this time there's no way to modify a function. I'm considering making functions into lists of statements, but it might not be necessary to have that functionality anyway.

Additionally, my language doesn't have an if construct. Since if can be considered a special case of switch/case, my programming language only provides the latter. Another difference is that for only works with lists, although there is short syntax for creating lists of numbers if you aren't iterating through a pre-existing one.

At the moment, I'm working out an EBNF grammar for the language, based on the little snippets I've written here and there. It's far from having everything in that I've produced for the language so far, and even when it has everything, I'll still need to do quite a bit of tidying before I can toss together a parser and interpreter. Hopefully I'll have something that works by the end of 2009, if I continue working on it in short spurts here and there. (I'd have a working interpreter by my birthday, if I did it full time. Other obligations, alas, prevent that.)

Something I still need to do is give my language a name. I was thinking "Directive" but it's probably already taken. This isn't an esoteric language in the mold of LOLCODE or INTERCAL, but rather something that can be used without causing headaches. It's more esoteric in the sense that nobody knows about it.

1. Actually, I am bright enough. It just sounded better written this way.

Reblog this post [with Zemanta]
Posted In