Skip to content

Releases: davidefiocco/theclown

v0.3.1

27 Feb 11:32

Choose a tag to compare

Housekeeping: added ruff for linting and formatting, enforced in CI. All zip() calls now use strict=True, imports modernized (Callable from collections.abc), nested conditionals simplified. No behavior changes. Tests added for Python 3.14 in CI.

v0.3.0

27 Feb 11:14

Choose a tag to compare

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

26 Feb 00:03

Choose a tag to compare

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

26 Feb 00:03

Choose a tag to compare

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.