Safe Haskell | Trustworthy |
---|---|

Language | Haskell2010 |

Functions for debugging. If you left these functions in your code then warning is generated to remind you about left usages. Also, some functions (and data types) are convenient for prototyping.

## Synopsis

- data Undefined = Undefined
- error :: forall (r :: RuntimeRep). forall (a :: TYPE r). HasCallStack => Text -> a
- trace :: Text -> a -> a
- traceM :: Monad m => Text -> m ()
- traceId :: Text -> Text
- traceIdWith :: (a -> Text) -> a -> a
- traceShow :: Show a => a -> b -> b
- traceShowId :: Show a => a -> a
- traceShowIdWith :: Show s => (a -> s) -> a -> a
- traceShowM :: (Show a, Monad m) => a -> m ()
- undefined :: forall (r :: RuntimeRep). forall (a :: TYPE r). HasCallStack => a

# Documentation

## Instances

error :: forall (r :: RuntimeRep). forall (a :: TYPE r). HasCallStack => Text -> a Source #

traceIdWith :: (a -> Text) -> a -> a Source #

Warning: `traceIdWith`

remains in code

Version of `traceId`

that leaves a warning.
Useful to tag printed data, for instance:

traceIdWith (x -> "My data: " <> show x) (veryLargeExpression)

This is especially useful with custom formatters:

traceIdWith (x -> "My data: " <> pretty x) (veryLargeExpression)

traceShowId :: Show a => a -> a Source #

Warning: `traceShowId`

remains in code

Version of `traceShowId`

that leaves a warning.

traceShowIdWith :: Show s => (a -> s) -> a -> a Source #

Warning: `traceShowIdWith`

remains in code

Version of `traceShowId`

that leaves a warning.
Useful to tag printed data, for instance:

traceShowIdWith ("My data: ", ) (veryLargeExpression)

traceShowM :: (Show a, Monad m) => a -> m () Source #

Warning: `traceShowM`

remains in code

Version of `traceShowM`

that leaves a warning.

undefined :: forall (r :: RuntimeRep). forall (a :: TYPE r). HasCallStack => a Source #