[Ecls-list] Was --enable-gengc ever the default?

Andy Hefner ahefner at gmail.com
Mon Mar 1 18:10:57 UTC 2010


On Tue, Mar 2, 2010 at 12:41 AM, Juan Jose Garcia-Ripoll
<juanjose.garciaripoll at googlemail.com> wrote:
> If a function is closed over variables then the process of installing
> it in the ECL lisp image is costly and the function can not be called
> directly. In older versions of the compiler this closure might happen
> accidentally, and the warning (actually a note) remained there to
> visually inspect whether there are still problems with closure
> identification. If it is too annoying or frequent in your code, then
> we may consider changing it to a compiler-debug note --- but please
> inspect the output and verify that indeed those closures are indeed
> closures and that ECL is not misidentifying them.

ECL identifies them correctly. I make frequent use of this idiom,
lacking a portable way to declare global lexical variables, intending
it as an optimization to avoid the indirection of accessing a special
variable for things such as memoization caches, but by your
description it sounds like the costs outweigh the benefits. I could
filter these out in my build script, but it sounds like I'd better
address them directly; no need to modify ECL.




More information about the ecl-devel mailing list