Nice guide! Regarding https://github.com/keithfancher/haskell-notes/blob/master/haskell-notes.md#stack-traces
you may be interested in
HasCallStack
(also a blog post if you prefer those over manuals)
This does require annotating functions with an extra constraint, but I find it useful for things at the edges of the system (DB, network calls).
(Someone made a plugin that automatically adds it, I haven't tried.)
As of 9.10, ghc automatically adds traces to exceptions.
Nice guide! Regarding https://github.com/keithfancher/haskell-notes/blob/master/haskell-notes.md#stack-traces
you may be interested in
HasCallStack
(also a blog post if you prefer those over manuals)
This does require annotating functions with an extra constraint, but I find it useful for things at the edges of the system (DB, network calls).
(Someone made a plugin that automatically adds it, I haven't tried.)
As of 9.10, ghc automatically adds traces to exceptions.