RSSAmplifier

Blog

Kittine updates

What actually landed in Kittine, by date — condensed from the language repo's own CHANGELOG.md.

kittine.comRSS feed ↗7 posts

Latest posts

Arrays of structs, closures, and pattern matching as an expression

A litter/breed name, optionally []-suffixed, is now a real prop/purr param or return type (DocEntry[] entries is a real Vec ); closure literals (|param, ..| expr) lower to real Rust closures for .filter()/.map(); pounce> now also works as an expression, unwrapping a Result-shaped value and returning it in one step. The Language reference page's search box is now real, built from exactly these…

Phase 2 begins: maps, JSON, a reference operator, log levels

stash{ key: expr, .. } is a real String-keyed map; every litter/breed now derives serde::Serialize/Deserialize for JSON (or YAML/CSV) round-trips via serde_json::to_string(&value); a new &expr reference operator unblocks calling real Rust APIs that need one; warn /error join craft as real logging severity levels.

Reading an event handler's actual value

The reserved event identifier, used anywhere inside an on handler, now reads what the browser event actually carries -- onInput={ >> event} mutates a signal to whatever was typed, not just a fixed literal. The handler's closure only binds ev when the expression actually reads event.

A real package manager, and a live in-browser playground

kittine.toml/kittine.lock plus kittine-compiler add/install/publish, backed by a real hosted registry (kittine-registry) with sha256-verified downloads; the Playground -- kittine-compiler itself, compiled to WebAssembly, compiling .kitty to real Rust entirely client-side.

Phase 1 closes: traits, structs, enums, pattern matching, generics

claw / bare .. for .. (a real trait system) plus bounded generics; litter (structs), breed (enums), pounce> (pattern matching), single-parameter generics; optional/inferred scalar type tags; the #n/#w/#f sigil redesign; a formal EBNF grammar; kebab-case JSX attributes.

Real SSR, routing, and every operator this site needed

Server-side rendering via cargo-leptos + Axum; routing via leptos_router with dynamic segments and programmatic navigation; comparisons and logical &&/||; hold plain bindings; re-exports; private visibility; array-typed props/returns; reactive list rendering in views; component children.

Initial release: the core language

func components, >> value signals, if>/orif>/else> control flow, spin loops, the embedded JSX-like view syntax, craft logging, and a VS Code extension with TextMate syntax highlighting.