Skip to main content

DA.Stack

Module Snapshot

Lifecycle

Stable.

Notices

Status: active Introduced in: 3.4.9 Removed in: - Warnings: 0 Deprecations: 0 Deprecated since: -

Data Types

data SrcLoc

Location in the source code. Line and column are 0-based. Constructors:
  • SrcLoc
Text
Text
Text
Int
Int
Int
Int
Instances:

data CallStack

Type of callstacks constructed automatically from HasCallStack constraints. Use callStack to get the current callstack, and use getCallStack to deconstruct the CallStack.

type HasCallStack

= 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:
You can declare a type signature with the HasCallStack constraint:
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

prettyCallStack

prettyCallStack : CallStack -> Text Pretty-print a CallStack.

getCallStack

getCallStack : CallStack -> [(Text, SrcLoc)] Extract the list of call sites from the CallStack. The most recent call comes first.

callStack

callStack : HasCallStack => CallStack Access to the current CallStack.