Skip to content

Latest commit

 

History

History
20 lines (14 loc) · 998 Bytes

README.md

File metadata and controls

20 lines (14 loc) · 998 Bytes

Jam

Let's Jam!

An interpreter for jam - a beginner's programming language

What is Jam?

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

Why Jam?

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.

The article

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 :)