scrml.dev v0.7.1
Articles

Articles

Long-form writing on scrml — the language, the philosophy, what it kills, what it costs. Each article on dev.to publishes with canonical_url pointing back here.

The why

The what

  • The Tier 0/1/2 promotion ladder From if= chains to <match> blocks to <engine> state machines — and the mechanical promotion CLI between them.
  • Why scrml has to deprecate function and component overloading Overloading is library-syntactic-sugar; structural exhaustiveness is a language commitment. The two are in tension. The trio that replaces overloading.
  • CSS without a build step Native @scope reached Baseline. A browser-language designed today should compile its scoped styles to that, not to a runtime mangler.
  • Mutability contracts Who can write to this value? In mainstream stacks it's folklore. In scrml it's a compile error. Five layers of write-authority, all compile-time.
  • Realtime & workers Socket.io vs. Pusher vs. Liveblocks for realtime; BullMQ vs. Inngest for queues; Comlink vs. raw Worker boilerplate. scrml replaces the whole matrix with two language primitives.

The why-not (existing tools)

Release announcements

On the version-numbered articles. The v0.2.0 and v0.3.0 announcements are period records — they describe the language as it stood at that cut and are deliberately not rewritten to current semantics. scrml is at v0.7.1; read those two as history, and the reference for what is true now.