Let's Jam!
An interpreter for jam - a beginner's programming language
Jam currently can parse, typecheck and run very simple code - enough to be Turing complete I am sure. It has:
- Variables with type inference
- Functions and sub-routines
- A simple type system
- While loops
The goal is to have a simple teaching language which avoids the design mistakes I believe make most other languages unsuited for beginners. Those mistakes include bad error messages, unintuitive syntax and too complex type systems. Jam is meant to be simple and give suggestions for how to remedy the most common errors, as well as have a reasonably robust type system, helping beginners avoid common errors.
See https://medium.com/computer-programming-and-so-can-you/an-interpreter-for-p-code-and-videos-f920f7e6377a for a description of my design goals.
You can look at the issues to see what's missing and of course I would love to see a pull request :)