[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Stack space
Date: Mon 24 Mar 86 19:49:03-CST
From: M. V. LaPolla <CS.LAPOLLA@R20.UTEXAS.EDU>
Does anyone know how to expand stack space, in Prolog Listener,
before the error trap?
You want to look in sys>debugger>support.lisp, at the function and
variable called stack-grower. In case you don't have this source,
you can do the following:
From lisp:
(funcall dbg:stack-grower :control n)
In this example, if n is an integer, it represents the amount to grow
the stack by; if it is floating point, it represents the FACTOR by which
to multiply the size of the stack. The :control specifies which stack
to grow. You may also want to look into the *function*, but its usage
seems a little more obscure to me.
If you want to do this from your PROLOG program, you should do something
like:
1. (defun grow-my-control-stack (n)
(funcall dbg:stack-grower :control n))
2. In PROLOG:
grow_ctl_stack(N) :-
funcall(USER:GROW-MY-CONTROL-STACK, N).
The lisp function in lozenges ('s) *MUST* be capitalized.
If you need to grow the structure stack, this is another story.
You need to look in the run-time prolog code, and alter the
structure stack size there, and recompile. There is no way
to just call a lisp or prolog form to achieve this effect.
Also does anyone know how to reference
packages outside of Prolog-User or User, i.e. Time:.
M.
-------
To call something in the time package, do the following:
call_out :-
funcall(TIME:PRINT-DATE,45, 20, 4, 18, 4, 1985, 5).
Remember to *CAPITALIZE* the lisp function, and to use the lozenges.
Jim Dean - Symbolics Software Support.