Declarative Debugging https://www.metalevel.at/prolog/debugging (Prolog is amazingly flexible in what you can comment out and still have a runnable program)
miniblog.
Related Posts
One nice feature of cargo that I wasn't previously aware of: you don't need to do anything after updating your Cargo.toml.
In npm, you need to remember to `npm i` after changing package.json. It's not declarative and the state can get out of sync.
One neat way of thinking of assertions vs unit tests: declarative vs imperative:
Most macros I write are `def-foo' (declarative) or `with-foo' (setup then tidying). This gives predictable semantics: important with macros.
