Re: Runtime loading of code
This is a very good answer :-) Thanks very much.
This is looking very very promising.
Thanks,
Bob
On Thursday, November 27, 2003, at 01:03 PM, davef@xanalys.com wrote:
>
> Advance warning: I'm new to common lisp, learning as fast as I can
>
> Welcome!
>
>
> , but
> I'm still easily confused and certainly overwhelmed by the amount of
> reading I have to do and the slightly different terminology. I'm
> trying
> to justify using LispWorks for a desktop application instead of Java
> which is the incumbent in our company.
>
> I would like to establish that it is or is not possible to
> dynamically
> load/link a unit of lisp code roughly corresponding to a (set of)
> fasl
> file(s) into a running application that was compiled with no
> knowledge
> of the specific functions and CLOS classes defined in the new code.
> The
> new code would include brand new classes, which won't matter to the
> running application, but these classes will extend common classes
> and
> provide new methods to already established generic functions.
>
> Yes. A running Lisp image can load compiled code which defines new
> classes and methods. The LispWorks patch loader is one example, and a
> loadable module such as "corba" is another. There also exist LispWorks
> applications which have their own patch loaders.
>
> Can you compile this code without including the common classes?
>
> Yes.
>
> If I understand your question, the common classes are already existant
> in the compiling image. For example CL:STANDARD-OBJECT is part of the
> language, so it's always defined at compile time.
>
> But Common Lisp is more flexible than that, as it is possible to
> define a class FOO inheriting from an as-yet-undefined class BAR. The
> restriction is that you cannot instantiate FOO until BAR is defined.
>
> Can you do this without breaching the runtime license of LispWorks?
>
> Yes.
>
> --
> Dave Fox
>
> Xanalys http://www.lispworks.com
> Compass House
> Vision Park, Chivers Way
> Histon
> Cambridge, CB4 9AD
> England
>
>
>