Releases: davidefiocco/theclown
v0.3.1
v0.3.0
New: structs (definition, construction, field access, mutation, impl blocks with methods), enums (unit and tuple variants with match destructuring), match expressions (literal, wildcard, or-pattern, string arms), built-in Option<T> (Some, None, .unwrap(), .unwrap_or(), .is_some(), .is_none(), ? operator), const declarations, compound assignment (+=, -=, *=, /=, %=), attributes and references accepted as pass-through. CI via GitHub Actions running 104 tests, including a FFT.
v0.2.0
New: math builtins (sqrt, abs, floor, ceil, sin, cos, tan, ln, …) via method and f64:: scoped calls. Arrays and vec![] with indexing, .len(), .push(), .pop(), and move semantics.
v0.1.0
A toy Rust interpreter in ~800 lines of Python. Parses with tree-sitter-rust, walks the AST with match/case, rejects anything unsupported.
Supports: integers, floats, booleans, let/let mut, shadowing, blocks-as-expressions, if/else if/else, while/for/loop, break/continue, functions with recursion, println! with format strings, string move semantics, tuples with destructuring, numeric as casts.