[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Stack Overflow Error



    running a particular ml program, I get the following stack overflow error
    from the depths of lisp:

The variable si::*multiply-stacks* (see doc/DOC) will let you grow the
stacks.  

However I suspect (from your backtrace) the problem in your case is
that some forms are not being compiled to machine code and are being
interpreted.   

In the documentation on compile-file in doc/DOC is specified
the default behaviour of the current akcl compiler.    I suspect
that you need to set the switch compiler::*COMPILE-ORDINARIES* to
t or otherwise arrange to have some non top level forms compile.



Here is an excerpt from the documenatation:

...

Among the common lisp special forms only DEFUN and DEFMACRO will cause actual
native machine code to be generated.  The rest will be specially treated in an
init section of the .data file.  This is done so that things like putprop,setq,
and many other forms would use up space which could not be usefully freed, if
we were to compile to native machine code.  If you have other `ordinary' top
level forms which you need to have compiled fully to machine code you may
either set compiler::*COMPILE-ORDINARIES* to t, or put them inside a

(PROGN 'COMPILE ...forms-which-need-to-be-compiled)

..