DA.Stack
DA.Stack
Data Types
data SrcLoc
data CallStack
type HasCallStackType of callstacks constructed automatically from
HasCallStackconstraints.Use
callStackto get the current callstack, and usegetCallStackto deconstruct theCallStack.
= IP "callStack" CallStack
Request a CallStack. Use this as a constraint in type signatures in order
to get nicer callstacks for error and debug messages.
For example, instead of declaring the following type signature:
myFunction : Int -> Update ()
You can declare a type signature with the HasCallStack constraint:
myFunction : HasCallStack => Int -> Update ()
The function myFunction will still be called the same way, but it will also show up
as an entry in the current callstack, which you can obtain with callStack.
Note that only functions with the HasCallStack constraint will be added to the
current callstack, and if any function does not have the HasCallStack constraint,
the callstack will be reset within that function.
Functions
prettyCallStackPretty-print a CallStack.
: CallStack -> [(Text, SrcLoc)]
Extract the list of call sites from the CallStack.
The most recent call comes first.
callStack: HasCallStack => CallStack
Access to the current CallStack.