This is the mail archive of the
kawa@sources.redhat.com
mailing list for the Kawa project.
Re: Kawa and CLOS
- From: Per Bothner <per at bothner dot com>
- To: Chris Bitmead <mailinglist at bitmead dot com>
- Cc: kawa <kawa at sources dot redhat dot com>
- Date: Mon, 08 Jul 2002 23:48:50 -0700
- Subject: Re: Kawa and CLOS
- References: <3D1B1DCD.7090500@bitmead.com> <200206302346.11902.unknown_lamer@unknownlamer.org> <3D20E140.6050003@bitmead.com> <200207012113.58958.unknown_lamer@unknownlamer.org> <5.0.2.1.2.20020702112242.00b16ad0@zima.bbn.com> <3D22F264.9010502@bitmead.com> <3D25FFB4.9060500@bothner.com> <3D265661.9030201@bitmead.com> <3D285FAC.1090608@bothner.com> <3D292F55.6060706@bitmead.com>
Chris Bitmead wrote:
What is the problem with compiled code only and class loaders? (I've
done a lot of work with class loaders).
The problem is that each new class you create must be done using a
class-loader. Classes that are created dynamically need to use a
special non-default class-loader. The problems is references from
"interpreted" code creating a class in one class-loader, and then
referencing it from a subsequent piece of "interpreted" code,
which currently uses a separate class-loader. Using a single
classloader for all generated classes is underdesirable, because you
want to be able to garbage-collect no-longer-needed generated code.
That restriction sounds annoying
enough that I'd rather just use tiny-clos.
It's a fixable problem, and not that difficult - we just need to
manage classes and class-loaders more intelligently.
I'm just started re-organizing some code that should make this
easier. Maybe soon.
See also the make-procedure function.
Hmm. No add-procedure?
You presumably mean add-method or something backing up define-method.
Adding a methods to a genertic is easy enough. Harder is passing along
the needed type information to cleanly select between methods.
--
--Per Bothner
per@bothner.com http://www.bothner.com/per/