Live demos — built with Axon, running in your browser
🔢 Bounded Counter
CounterState
Pure counter_inc / counter_dec functions. Bounds [-10, 10] enforced by type.
counter_display() uses string interpolation "+{n}".
✉️ Email Validator
EmailAddress
EmailAddress = string where matches(#email).
Auto-injected guard at send_welcome() boundary. Live feedback via validate_email().
🔘 Toggle Switch
toggle_css_class
CSS class composed with "{ baseClass } { baseClass }--on" — string interpolation makes
class composition readable and intent-clear.
◐ Theme Switcher
theme_class
"theme-{name}" interpolation generates the body class. theme_label()
is a @pure @total @memo match expression.
🪟 Modal Dialog
ModalState
modal_open() and modal_close() are pure state transitions — no class
manipulation, just immutable record updates.
⚡ @memo Cache
@memo
fibonacci() and triangle_number() are annotated @pure @total @memo.
The transpiler wraps them in a Map-based cache — recursive calls skip recomputation.