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

Dr. Edmund Weitz edi at agharta.de
Fri Nov 23 14:53:02 UTC 2001


I'm new to this list and I'd like to start with thanking Juan Jose
Garcia Ripoll and everyone else who currently works on ECLS for this
very interesting project! Only recently did I (re-)discover Lisp and
I'm glad I did - what a great programming language! And, although
CMUCL, CLISP, or the commercial implementations might be more mature
and complete, ECLS at the moment seems more interesting to me because
it seems to be designed for playing around with it, plus - in this
early stage - it already comes with a very promising documentation of
its internals. Thanks again!

I'd love to help with this project but I don't know if I could be of
any use. As I said, I'm rather new to Lisp - I earned my money with
things like Perl, PHP, C, and Java in the last years. I also know next
to nil about Lisp implementations, so I don't think that at the moment
I could by any help in the development of ECLS. If there are other
things that could be useful - testing, documentation, whatever -
please let me know and I'll see what I can do.

I don't know if this list is the right place for that, but I have two
questions and a bug report - kind of:

1. If I define the factorial function in the usual, recursive way,[1]
   and call it (without compiling it) with an argument of 10000, this
   will result in a reproducible complete crash of my system. After
   about two or three seconds, the machine is completely unresponsive
   to the mouse or the keyboard and the only 'fix' is to power it down
   and hose the file system. This is Linux 2.4.10 (SuSE 7.3) on an IBM
   Thinkpad with 256 MB RAM and a 850 MHz P III.

2. If you're building a stand-alone executable, is there a way to get
   at the command line arguments? I haven't found this mentioned in
   the documentation.

3. If you mix Lisp with your own C code and you're accessing Lisp
   objects from C, what will happen if garbage collection occurs? Are
   there any guarantees or ways to prevent objects from being gc'd?

Thanks in advance for your time,

[1] like (defun fac (n) (if (= n 0) 1 (* n (fac (1- n)))))

More information about the ecl-devel mailing list