<div dir="auto"><div>Other another bike-shed color:</div><div dir="auto"><br></div><div dir="auto"><div style="font-family:sans-serif" dir="auto">traceWith :: (a -> String) -> a -> a</div><div style="font-family:sans-serif" dir="auto">traceWith f a = trace (f a) a</div><div style="font-family:sans-serif" dir="auto"><br></div><div style="font-family:sans-serif" dir="auto"><div dir="auto">traceShowWith :: Show b => (a -> b) -> a -> a</div><div dir="auto">traceShowWith f = traceWith (show . f)</div><div dir="auto"><br></div><div dir="auto">But on the other hand, <a href="http://pointfree.io">pointfree.io</a> tells me that you can write</div><div dir="auto"><br></div><div dir="auto">trace =<< f</div><div dir="auto">trace =<< show . f</div><div dir="auto"><br></div><div dir="auto">so I'm not sure how urgent these are.</div></div><div class="gmail_extra" dir="auto"><br><div class="gmail_quote">On Feb 9, 2018 8:08 PM, "Kris Nuttycombe" <<a href="mailto:kris.nuttycombe@gmail.com">kris.nuttycombe@gmail.com</a>> wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">When using Debug.Trace for debugging, a very common operation is to prefer to trace only some subset or function of an intermediate result. As a consequence, I propose adding the following function to Debug.Trace:<div><br></div><div><div>traceWith :: (Show b) => (a -> b) -> a -> a</div><div>traceWith f a = trace (show $ f a) a</div><div><br></div></div><div>While it's trivial to define, I have found this to be one of the most useful functions in my trace-based debugging toolkit, hence my proposal that it be added to base. It generalizes `traceShowId` in a meaningful and useful fashion. </div><div><br></div><div>As this is the first such proposal I've put forth, please let me know if I'm doing anything wrong with it!</div><div><br></div><div>Thanks,</div><div><br></div><div>Kris Nuttycombe</div></div>
<br>______________________________<wbr>_________________<br>
Libraries mailing list<br>
<a href="mailto:Libraries@haskell.org">Libraries@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-<wbr>bin/mailman/listinfo/libraries</a><br>
<br></blockquote></div><br></div></div></div>