Warning: This is the manual of the legacy Guile 2.0 series. You may want to read the manual of the current stable series instead.
Next: Stacks, Up: Evaluation Model [Contents][Index]
A Scheme program can use the make-stack
primitive anywhere in its
code, with first arg #t
, to construct a Scheme value that
describes the Scheme stack at that point.
(make-stack #t) ⇒ #<stack 25205a0>
Use start-stack
to limit the stack extent captured by future
make-stack
calls.
Create a new stack. If obj is #t
, the current
evaluation stack is used for creating the stack frames,
otherwise the frames are taken from obj (which must be
a continuation or a frame object).
arg … can be any combination of integer, procedure, prompt
tag and #t
values.
These values specify various ways of cutting away uninteresting
stack frames from the top and bottom of the stack that
make-stack
returns. They come in pairs like this:
(inner_cut_1 outer_cut_1 inner_cut_2
outer_cut_2 …)
.
Each inner_cut_i can be #t
, an integer, a prompt
tag, or a procedure. #t
means to cut away all frames up
to but excluding the first user module frame. An integer means
to cut away exactly that number of frames. A prompt tag means
to cut away all frames that are inside a prompt with the given
tag. A procedure means to cut away all frames up to but
excluding the application frame whose procedure matches the
specified one.
Each outer_cut_i can be an integer, a prompt tag, or a procedure. An integer means to cut away that number of frames. A prompt tag means to cut away all frames that are outside a prompt with the given tag. A procedure means to cut away frames down to but excluding the application frame whose procedure matches the specified one.
If the outer_cut_i of the last pair is missing, it is taken as 0.
Evaluate exp on a new calling stack with identity id. If exp is interrupted during evaluation, backtraces will not display frames farther back than exp’s top-level form. This macro is a way of artificially limiting backtraces and stack procedures, largely as a convenience to the user.
Next: Stacks, Up: Evaluation Model [Contents][Index]