<div dir="ltr">Hi all!<div><br></div><div>I just got a crazy idea and I think it's not that crazy, but I'm willing to get feedback on that :-)</div><div><br></div><div>The main reason I use the debugger is to check that the intermediary values in a computation are the expected ones. The alternative (which works without messing up timeouts) is to print out values at points of interest, but it is messy (there's a lot of boilerplate to type and the interesting code becomes hard to read).</div><div><br></div><div>So, I thought, what if, instead of interpreting a module in order to debug it, we compile it with a special parse transform that inserts tracing calls after each expression in the code, automatically keeping track of the variables visible in the scope and their values?</div><div><br></div><div>The output can be via io:format, et:report_event, or something else (configurable). </div><div><br></div><div>Could this "trogging" or "logtracing" be useful, or am I delusional? Maybe there already is such a thing, the Erlang ecosystem is getting difficult to keep in the working memory :-)</div><div><br></div><div>best regards,</div><div>Vlad</div><div><br></div></div>