
I really like GHC's internal HasDebugCallStack, which disappears (that is, becomes ()) when DEBUG is not defined via CPP and becomes HasCallStack when DEBUG is defined. As far as I know, there's no standard way to mark a build meant for debugging, but perhaps there should be. Then, we could do
#15559: fromJust has no HasCallStack -------------------------------------+------------------------------------- Reporter: nomeata | Owner: (none) Type: feature request | Status: new Priority: normal | Milestone: 8.6.1 Component: Core Libraries | Version: 8.4.3 Resolution: | Keywords: newcomer Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by chessai): the same for all applications instead of just GHC. In addition to making this available to users of GHC, there should probably be an additional side-effect to the DEBUG flag, or a separate flag, that turns HasDebugCallStack on for all functions -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15559#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler