I wrote a programming language. Here’s how you can, too.
Over the past 6 months, I’ve been working on a programming language called Pinecone. I wouldn’t call it mature yet, but it already has enough features working to be usable, such as: If you’re interested in it, check out Pinecone’s landing page or its GitHub repo. I’m not an expert. When I started this project, I had no clue what I was doing, and I still don’t. I’ve taken zero classes on language creation, read only a bit about it online, and did not follow much of the advice I have been given. And yet, I still made a completely new language. And it works. So I must be doing something right. In this post, I’ll dive under the hood and show you the pipeline Pinecone (and other programming languages) use to turn source code into magic. I‘ll also touch on some of the tradeoffs I’ve had make, and why I made the decisions I did. This is by no means a complete tutorial on writing a programming language, but it’s a good starting point if you’re curious about language development. “I have absolu
By William W Wold Over the past 6 months, I’ve been working on a programming language called Pinecone. I wouldn’t call it mature yet, but it already has enough features working to be usable, such as: variables functions user defined structures If you’re interested in it, check out Pinecone’s landing page or its GitHub repo . I’m not an expert. When I started this project, I had no clue what I was doing, and I still don’t. I’ve taken zero classes on language creation, read only a bit about it online, and did not follow much of the advice I have been given. And yet, I still made a completely new
Explore this link on the map →related reading
- Introduction · Crafting Interpreterscraftinginterpreters.com
- A Map of the Territory · Crafting Interpreterscraftinginterpreters.com
- A Map of the Territory · Crafting Interpreterscraftinginterpreters.com
- Writing Toy Software Is A Joyblog.jsbarretto.com
- how I think when I think about programming - alice mazalicemaz.com
- Learnable Programmingworrydream.com
- One Div Zero: A Brief, Incomplete, and Mostly Wrong History of Programming Languagesjames-iry.blogspot.com
- Laurence Tratt: Which Parsing Approach?tratt.net
- Formally speaking, "Transpiler" is a useless word | Rachit Nigampeople.csail.mit.edu
- Things unlearnedscattered-thoughts.net
- Beautiful Racket: Make a language in one hour: stackerbeautifulracket.com
- Representing Code · Crafting Interpreterscraftinginterpreters.com