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
- how I think when I think about programming - alice mazalicemaz.com
- Laurence Tratt: Which Parsing Approach?tratt.net
- Learnable Programmingworrydream.com
- Formally speaking, "Transpiler" is a useless word | Rachit Nigampeople.csail.mit.edu
- Writing Toy Software Is A Joyblog.jsbarretto.com
- Beautiful Racket: Make a language in one hour: stackerbeautifulracket.com
- One Div Zero: A Brief, Incomplete, and Mostly Wrong History of Programming Languagesjames-iry.blogspot.com
- Representing Code · Crafting Interpreterscraftinginterpreters.com
- Writing a C compiler in 500 lines of Pythonvgel.me