97 lines
1.0 KiB
Markdown
97 lines
1.0 KiB
Markdown
Debug
|
|
=====
|
|
|
|
Stubbing
|
|
--------
|
|
|
|
#### undefined
|
|
|
|
```haskell
|
|
undefined :: a
|
|
```
|
|
|
|
An undefined expression standing in for an incomplete program, unevaluated type
|
|
witness, or unreachable code branch.
|
|
|
|
*Example*:
|
|
|
|
```haskell
|
|
> import Foreign.Storable
|
|
> print (sizeOf (undefined :: Int))
|
|
8
|
|
```
|
|
|
|
#### notImplemented
|
|
|
|
```haskell
|
|
notImplemented :: a
|
|
```
|
|
|
|
An undefined expression standing in for a yet to completed program.
|
|
|
|
*Example*:
|
|
|
|
```haskell
|
|
main :: IO ()
|
|
main = notImplemented
|
|
```
|
|
|
|
Tracing
|
|
-------
|
|
|
|
#### trace
|
|
|
|
```haskell
|
|
trace :: Print b => b -> a -> a
|
|
```
|
|
|
|
*Example*:
|
|
|
|
#### traceM
|
|
|
|
```haskell
|
|
traceM :: (Monad m) => Text -> m ()
|
|
```
|
|
|
|
*Example*:
|
|
|
|
#### traceId
|
|
|
|
```haskell
|
|
traceId :: Text -> Text
|
|
```
|
|
|
|
*Example*:
|
|
|
|
#### traceShowM
|
|
|
|
```haskell
|
|
traceShowM :: (P.Show a, Monad m) => a -> m ()
|
|
```
|
|
|
|
*Example*:
|
|
|
|
#### traceShowId
|
|
|
|
```haskell
|
|
traceShowId :: P.Show a => a -> a
|
|
```
|
|
|
|
*Example*:
|
|
|
|
#### traceShow
|
|
|
|
```haskell
|
|
traceShow :: P.Show a => a -> b -> b
|
|
```
|
|
|
|
*Example*:
|
|
|
|
#### traceIO
|
|
|
|
```haskell
|
|
traceIO :: Print b => b -> a -> IO a
|
|
```
|
|
|
|
*Example*:
|