This Simple Programming Language compiler features:
- Variables
- Functions, some of which are overloaded
- Conditionals and loops
- Boolean and arithmetic expressions, tuples, and lists
- A static type system that supports basic types, types composed of tuples and lists, and polymorphic types
- Polymorphic type inference
Please see the tests for example programs.