I've had the idea to create a programming language for several months now, but never got around to starting.
I was never sure what the syntax should look like, what the compilation target would be, or if I'd rather just devote my time to other projects.

But, I've thought about it enough and decided that I'm going to go ahead and begin, as I've decided on a few ideas that have pushed me to finally start:

* This will be a long term project, with incremental, weekly goals. This means if I'm inspired by some other smaller project, I can still go ahead and build it.
* The announcement of WebAssembly was very exciting to me, so in the long term I've decided to make WebAssembly the compilation target. Until then, I'll compile to JS.
* I find compilers fascinating and I'd be doing myself a disservice to not start working on my own.

I'll be writing this blog to go along with my weekly goals. If this project is successful, these posts will be a nice guideline to anyone else interested in crafting their own language. So, let's begin!

### Next week's goal
* Have an idea of the *premise* of the language. Why use it? What makes it great?
* Have some idea of the *syntax* of the language. Write some code samples.
* Do some *research* on tools or libraries that may be useful in implementing the language.

---
title: "Designing a programming language"
tags: [program language design, compilers]
---

I've had the idea to create a programming language for several months now, but never got around to starting.
I was never sure what the syntax should look like, what the compilation target would be, or if I'd rather just devote my time to other projects.

But, I've thought about it enough and decided that I'm going to go ahead and begin, as I've decided on a few ideas that have pushed me to finally start:

* This will be a long term project, with incremental, weekly goals. This means if I'm inspired by some other smaller project, I can still go ahead and build it.
* The announcement of WebAssembly was very exciting to me, so in the long term I've decided to make WebAssembly the compilation target. Until then, I'll compile to JS.
* I find compilers fascinating and I'd be doing myself a disservice to not start working on my own.

I'll be writing this blog to go along with my weekly goals. If this project is successful, these posts will be a nice guideline to anyone else interested in crafting their own language. So, let's begin!

### Next week's goal
* Have an idea of the *premise* of the language. Why use it? What makes it great?
* Have some idea of the *syntax* of the language. Write some code samples.
* Do some *research* on tools or libraries that may be useful in implementing the language.

Add title, tags to new blog post
Add title, tags to new blog post
