Make your own programming language (from scratch)
Have you ever wanted to implement a programming language from scratch? Doing so can be a rewarding and educational experience, and it's probably much easier than you think. We will guide you through the hoops of creating a small, but neat, programming language. By the end of the workshop you will be the proud author of a programming language, and will hopefully have a better understanding of how programming languages work. The goal is for you to make a relatively simple language, with the following features: – A handful of data types (integers, booleans, symbols, and strings) – Variables (with lexical scoping) – First class functions – That nice, homemade quality feeling The workshop will guide you through the process of creating your language using a hands-on TDD approach. We provide the tests, and all you need to do is to get them to pass, one by one. We will be following the materials from https://github.com/kvalle/diy-lisp. You will be coding in Python, and the language you create will have a syntax similar to Lisp (mainly to keep the parser as simple as possible). You will have all the explanation you need, and we'll be there to help you every step of the way. No experience with creating languages is required. Familiarity with Python is helpful, but is not required either, as the code you'll need to write is surprisingly straightforward.