Skiff

An immutability-first, functional scripting language with a friendly syntax and interpreter written in Rust!

Running

bash cargo run <filename>

For example:

bash cargo run test/plus_and_times_precedence.skf

Roadmap

Language Features:

| | Tree Walk Interpreter | Bytecode Interpreter | | ------------------------ | --------------------- | -------------------- | | Arithmetic | ✓ | | | Equality Operators | ✓ | | | Conditionals | ✓ | | | Functions | ✓ | | | Recursion | ✓ | | | Lambdas | ✓ | | | Let binding | ✓ | | | Improved Error Reporting | ✓ | | | Type Annotations | | | | Algebraic Datatypes | ✓ | | | Pattern Matching | ✓ | | | Call Stack Traces | ✓ | | | Strings | | | | File Operations | | | | Testing Constructs | | |

Miscellaneous: