| Copyright | (c) 2018-2023 Kowainik |
|---|---|
| License | MIT |
| Maintainer | Kowainik <xrom.xkov@gmail.com> |
| Stability | Stable |
| Portability | Portable |
| Safe Haskell | Safe |
| Language | Haskell2010 |
Relude.Extra.CallStack
Description
Contains useful functions to work with GHC callstack.
Since: 0.2.0
Synopsis
- ownName :: HasCallStack => String
- callerName :: HasCallStack => String
Documentation
ownName :: HasCallStack => String Source #
This function returns the name of its caller function, but it requires
that the caller function has HasCallStack constraint. Otherwise, it returns
"unknown".
>>>foo :: HasCallStack => String; foo = ownName>>>foo"foo">>>bar :: HasCallStack => String; bar = foo>>>bar"foo"
Since: 0.2.0
callerName :: HasCallStack => String Source #
This function returns the name of its caller of the caller function, but it
requires that the caller function and caller of the caller function have
HasCallStack constraint. Otherwise, it returns "unknown". It's useful for
logging:
>>>log :: HasCallStack => String -> IO (); log s = putStrLn $ callerName ++ ":" ++ s>>>greeting :: HasCallStack => IO (); greeting = log "Starting..." >> putStrLn "Hello!" >> log "Ending...">>>greetinggreeting:Starting... Hello! greeting:Ending...
Since: 0.2.0