A palate cleanser after v0.1.6 — two features and a Docker fix.
Interactive debugging via DWARF. The compiler now emits DWARF (the standard debug info format) — source locations, variable names, type descriptions — so you can step through Hew programs in LLDB. There’s a set of LLDB helpers that understand Hew’s actor heap layout and can pretty-print actor state, mailbox contents, and supervision trees. It’s not a full debugging experience yet (no conditional breakpoints on message receipt, no stepping across actor boundaries) but you can set a breakpoint, inspect locals, and see where you are in the source. That’s the bar for “usable.”
Collection literal ergonomics. Vec and HashMap literals now coerce from their constructor syntax without explicit type annotations in more places. Previously the type checker needed help — let x: Vec<i32> = [1, 2, 3] worked but let x = [1, 2, 3] didn’t always infer the right collection type. Now it does, by propagating expected types downward through the expression tree during inference.
Rewrote the Docker image as a self-contained Alpine build. The previous Docker image pulled LLVM from the Alpine package repository, which meant it broke every time Alpine updated their LLVM version — and Alpine updates frequently. The new image builds LLVM from source inside the container. Slower to build, but the image is reproducible and doesn’t depend on upstream package timing.
All dependency versions updated. Nothing broke, which either means the dependency updates were trivial or the test suite has gaps. (Probably both.)
Part 29 covers the debugging support and editor integration.