Skip to content

An interpreter for jam- a beginner's programming language. Let's jam!

Notifications You must be signed in to change notification settings

philipkaare/jam

Repository files navigation

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

About

An interpreter for jam- a beginner's programming language. Let's jam!

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages