Skip to content

v0.5.0 — Special cases aren't special enough

Choose a tag to compare

@ssweber ssweber released this 10 Apr 13:31
· 17 commits to main since this release
84a16a0

Welp, I went to far. v0.4.0 shipped yesterday with Timer.named() and Counter.named() - a dedicated API for creating named
timer/counter instances. Turns out I could have just use .clone(). The special case is gone; Timer and
Counter now use the same .clone() as every other structured type.

Before (v0.4.0)

DetTimer = Timer.named(1, "DetTimer")

After (v0.5.0)

DetTimer = Timer.clone("DetTimer")

TagMap auto-resolve for timer/counter operands is also removed — all mappings are now explicit:

mapping = TagMap([
    DetTimer.Done.map_to(t[1]),
    DetTimer.Acc.map_to(td[1]),
])

Also in this release

  • TagMap codegen output now emits section headers (# --- Timers & Counters ---, etc.) when there are 2+
    non-empty groups.