# 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 -- tests/files/success/plus_and_times_precedence.boat
```
## Roadmap
Language Features:
| Arithmetic | ✓ | |
| Equality Operators | ✓ | |
| Conditionals | ✓ | |
| Functions | ✓ | |
| Recursion | ✓ | |
| Lambdas | ✓ | |
| Let binding | ✓ | |
| Improved Error Reporting | ✓ | |
| Type Annotations | ✓ | |
| Type Inference | ✓ | |
| Algebraic Datatypes | ✓ | |
| Pattern Matching | ✓ | |
| Exhaustiveness Checking | ✓ | |
| Call Stack Traces | ✓ | |
| Strings | | |
| File Operations | | |
| Testing Constructs | | |
Miscellaneous:
- [ ] REPL
- [ ] Language Reference
- [x] Web Editor (WASM)
- [ ] Differential Tester
- [x] Continuous Integration
- [x] Publish crate