[Ecls-list] Bug report (?) and two questions

Juan Jose Garcia-Ripoll Juan.Ripoll at mpq.mpg.de
Wed Dec 12 02:11:03 UTC 2001


"Dr. Edmund Weitz" wrote:
> I was just going to run some test cases against CMUCL, CLISP,
> LispWorks, and Allegro, but I get the same behaviour ("needed to
> allocate blacklisted block...") when calling (FAC 10000) with a new
> version of ECLS built from CVS sources which I just checked out after I
> read your mail.
>   (defun fac (n)
>     (if (= n 0)
>         1
>         (* n (fac (1- n)))))

Thanks for checking ECL out. Regarding the failure in your tests there
are a few points worth noticing

- The recursive version will fail in the interpreter due to interpreter
stack overflow.
- The recursive version in the compiler, in a linux machine (Debian),
works ok.
- The following interpreted version should also work
        (defun fac (x &aux (y 1)) (dotimes (i x) (setq y (* y (1+ i))))
y)

Please make sure that the code has been properly updated (For instance,
you should find a couple of GC_malloc_atomic_ in alloc_2.d) and that you
made a fresh new build of ECL (otherwise the core library will not get
updated).

Juanjo




More information about the ecl-devel mailing list