Skip to content

Whim 0.19.0

Latest

Choose a tag to compare

@github-actions github-actions released this 06 Oct 04:56
· 1 commit to main since this release
0.19.0
d4e7c70
  • Breaking: fresh is now a reserved built-in type name.
  • Added ternary expressions: condition ? then : else. The condition must be bool; only the chosen branch runs.
  • Added fresh!() to create distinct scalar identities within a VM. Copies keep their identity; fresh supports dictionary keys, uint casts, and reflection.
  • Added Whim\Variation for values with named choices, selection, mapping, and combining alternatives.
  • Added Whim\Logic for binding and linking logic variables, with cancellable reads that wait for a value.
  • Added Whim\Clock with system, frozen, and offset clocks, plus system and virtual sleepers.
  • Added Whim\HTTP\SSE for server-sent event encoding and streaming HTTP response bodies.
  • Added Whim\Fn helpers: identity, tap, after, when, and rethrow.
  • Added Whim\Retry with retry policies, delays, jitter, deadlines, and cancellation.
  • Added Whim\Fuse for circuit breakers with failure thresholds and recovery periods.
  • Added Whim\Throttle for token bucket and fixed window rate limits per key.
  • Added Whim\State for typed state machines with guards and observers.
  • Added Whim\Graph for directed and undirected graphs, traversal, cycle checks, topological sorting, and shortest paths.
  • Added Whim\Tree for typed trees, traversal, search, mapping, filtering, and folds.
  • Added Whim\Cron for five-field cron parsing, matching, and next or previous occurrences in a chosen timezone.