all functional languages are difficult to debug.
y = h(f(g(x)))
where do you put the print statements or loggers?
y = h(f(g(x)))
where do you put the print statements or loggers?
y = h (f (traceShowId (g x)))
(Haskell is normally pure, but these functions from Debug.Trace are a notable exception.)Or use Stickers provided by Sly which sort of log things as they change. https://joaotavora.github.io/sly/#Stickers In that case you'd highlight the form starting at f, and turn a sticker on. Then run the code, sticker outputs into a window.