[Openmcl-devel] Re: MOP support and porting UncommonSQL

Gary Byers gb at clozure.com
Tue Mar 18 09:26:57 PST 2003

On Tue, 18 Mar 2003, Ram Krishnan wrote:

> I tried searching for any references to an ENSURE-CLASS implementation
> in the digitool ftp site as well as on Google but didn't find anything.

It hasn't been released yet; I think that it will be released once
MCL 5 is final.

> However, I did find a reference to the Xerox PCL code which  (at one
> point) works on MCL. I don't know much about the PCL code other than
> the fact that CMUCLs CLOS is based on it.

PCL ran in MCL 1.x in 1987 or thereabouts.  At the time, PCL was
substantially larger then MCL was (around 2.5MB of code/data vs
around 1.5MB); using PCL as the basis for MCL's CLOS implementation
wasn't a practical alternative.

> Would porting PCL to openmcl seem like a reasonable approach to take? I
> have no idea what that is going to take but the fact that PCL seems to
> have run on MCL at some point is encouraging. The consensus seems to be
> that PCL is pretty feature complete wrt. AMOP but may not have the same
> performance of a more native implementation.

PCL needs an implementation-dependent way to represent a "funcallable
instance" (something like a closure, but ideally easy to distinguish
from a real closure).  The MCL support that PCL had 15 years ago
would certainly need to be replaced, but that wouldn't be hard.

There's been a lot of work on improving PCL in the CMUCL world in the
last several months; I've heard dramatic claims about performance
improvements, but don't know if it's currently being used in
environments where other factors don't have a much greater impact on
performance.  From the bits and pieces of CMUCL mail traffic I read, I
have some skepticism about that, but it's not entirely informed

It might be possible to take the current CMUCL PCL, tweak some package
definitions, remove some CMUCL-isms, provide funcallable instance
support, and load PCL into OpenMCL (in parallel with the native CLOS)
and compare performance and other issues.  This might give us some
better basis to evaluate whether or not using some or all of PCL would
be a reasonable strategy.

Any volunteers ?

> -ram

Openmcl-devel mailing list
Openmcl-devel at clozure.com

More information about the Openmcl-devel mailing list