I started a discussion a few weeks back on some theoretical changes to how exceptions are displayed. That discussion covered a lot of different ground. I'd now like to formally propose the original change I mentioned in that thread:<div><br></div><div>1.  Add a new method to the Exception typeclass:</div><div><br></div><div>    -- | Render this exception value in a human-friendly manner. Default implementation: @show@.</div><div><div style="line-height:19.7999992370605px">    <span class="pM">displayException</span> :: e -> String<br></div><div style="line-height:19.7999992370605px">    <span class="pM">displayException</span> = show<br></div></div><div style="line-height:19.7999992370605px"><br></div><div style="line-height:19.7999992370605px">2. Modify GHC's default exception handler to use `displayException` instead of `show`.</div><div style="line-height:19.7999992370605px"><br></div><div style="line-height:19.7999992370605px">This change will, on its own, cause no breakage[1] and, without further action, will have no change in program behavior. It does, however, allow users to begin distinguishing between how their exceptions should be `show`n versus how they should be displayed to an end user.</div><div style="line-height:19.7999992370605px"><br></div><div style="line-height:19.7999992370605px">Note that I am *not* proposing at this time any other changes discussed in the previous thread. If someone wants to propose removing Show superclasses, adding a Read superclass, providing a typeRepStack method[2], or something else, please propose it separately.</div><div style="line-height:19.7999992370605px"><br></div><div style="line-height:19.7999992370605px">Discussion period: two weeks.</div><div style="line-height:19.7999992370605px"><br></div><div style="line-height:19.7999992370605px">Michael</div><div style="line-height:19.7999992370605px"><br></div><div style="line-height:19.7999992370605px">[1] Besides introducing a new, possibly clashing identifier name.</div><div style="line-height:19.7999992370605px">[2] That one actually seems like a very good idea to me.</div>