[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Wade Hennessey's work on lisp
> Date: Wed, 2 Dec 92 13:03:04 -0800
> From: David B. Serafini <serafini@ra-iris.arc.nasa.gov>
> From: layer@franz.com (Kevin Layer)
> Date: Wed, 02 Dec 92 10:16:11 -0800
> >> I picked up Hennessey's paper (described in included message below)
> >> and found it quite convincing. I'd like to know what people at Franz
> >> think of this work and if acl is moving in this direction.
> We have been looking at shared library technology since it was
> introduced on various platforms, and will be giving more thought to
> the incorporation of it into a future version of Allegro CL.
> As you know, there is a trade off between the ability to share
> portions of an image among many processes and the cost of initializing
> an image to link in the shared libraries and create the per-process
> data. Lisp, unlike C, has a large dynamic component. For example,
> the symbols made available by a shared library need to be interned.
> It is unclear what the startup cost of an executable would be for a
> fully compliant ANSI Common Lisp (ie, one that includes CLOS).
> But, since the purpose of a shared-library lisp is to reduce application
> size, couldn't you have some kind of compiler/optimizer that would only
> intern the symbols that were used in the application? I assmue this would
> radically reduce the number of symbols needed, and maybe make startup
> faster. I know this approach has been used to reduce image sizes by
> removing unneeded code.
> -David
You can't; symbols can be created and interned or used on the fly.
(eval (read)) is valid common-lisp.