Note: see History
After learning about progrmaming languages for over a year (including books, college level courses, multiple side projects, etc.), I've decided I want to make my own, general purpose programming language.
Nakala only has two core values:
- The syntax should feel familiar, while remaining unique
- Nakala doesn't try to do anything really hard, as I want to make working on this project fun and not another job that ends up burning me out.
- Lexer
- Parser / AST
- Type Checking
- Basic types
- Advanced types (functions, classes, enums)
- Interpreter
- Standard library
- Playground website
- Editor tooling
- Compiler (maybe C++?)
- Self hosted
I am always welcoming PRs and would love to work on the project with other people if they are interested. There are no rules, and I will accept any PR as long as it aligns with the projects core values as described above.
Nakala started as a programming language that I built based on arzg's Eldiro blog posts. The core architecture (especially the Parser) was practically identical to Eldiro, hence the name of the project: nakala (Punjabi for mimic). If you haven't read through his blog posts, I highly recommend you do because it is an unmatched learning resource.
I ended up scrapping the entire language and implementation for something I built from the ground up after studying more. However, I decided to keep the name as a nod to arzg for lighting a spark in me that put me on a journey of learning constantly.
nakala
uses the MIT License