Debug
- Package
- debug
- Repository
- purerl/purescript-debug
#DebugWarning Source
class DebugWarning Nullary class used to raise a custom warning for the debug functions.
Instances
(Warn (Text "Debug function usage")) => DebugWarning
#trace Source
trace :: forall a b. DebugWarning => a -> (Unit -> b) -> bLog any PureScript value to the console for debugging purposes and then
return a value. This will log the value's underlying representation for
low-level debugging, so it may be desireable to show the value first.
The return value is thunked so it is not evaluated until after the message has been printed, to preserve a predictable console output.
For example:
doSomething = trace "Hello" \_ -> ... some value or computation ...
#traceM Source
traceM :: forall m a. DebugWarning => Monad m => a -> m UnitLog any PureScript value to the console and return the unit value of the
Monad m.
#spy Source
spy :: forall a. DebugWarning => String -> a -> aLogs any value and returns it, using a "tag" or key value to annotate the traced value. Useful when debugging something in the middle of a expression, as you can insert this into the expression without having to break it up.
#spyWith Source
spyWith :: forall a b. DebugWarning => String -> (a -> b) -> a -> aSimilar to spy, but allows a function to be passed in to alter the value
that will be printed. Useful in cases where the raw printed form of a value
is inconvenient to read - for example, when spying on a Set, passing
Array.fromFoldable here will print it in a more useful form.
- Modules
- Debug