[Openmcl-devel] Documentation and Arglist

Gary Byers gb at clozure.com
Mon Dec 16 14:23:24 PST 2002

On Mon, 16 Dec 2002, Sven Van Caekenberghe wrote:

> I am using ILISP with OpenMCL and I think it is a great combination.
> HyperSpec lookup works really well, especially when you need a good
> reference explanation. However, most of the time argument list
> information and/or documentation from the inferior lisp would be enough
> as well as faster and more conveniant. I know which variables to set to
> preserve the argument lists and documentation strings of my code. What
> I am looking for is a lisp image in which the argument list information
> and the documentation for all standard common lisp symbols and some of
> the important ccl symbols are present (for development I wouldn't mind
> a slightly larger image). Is there a way to create such an image ?

Basically, you set CCL:*FASL-SAVE-LOCAL-SYMBOLS* (and perhaps
CCL:*SAVE-LOCAL-SYMBOLS*) to T (likewise for the doc string variables,
I -think-), then do:

? (compile-ccl t)


? (xload-level-0)

The last step creates a "bootstrappping image" ("ppc-boot" or
"ppc-boot.image") in the CCL directory.

In the shell (and in the CCL directory), doing:

% ./ppccl ppc-boot


% ./dppccl ppc-boot.image

will load a few dozen fasl files, then print a prompt.  At that prompt,
you can then do:

? (save-application "dppccl.image") ; Darwin


? (save-application "PPCCL") ; Linux

Because of the strange way in which the bootstrapping image is made,
files compiled from sources in the level-0 directory don't retain
any of this debugging information.  There are a few CL or exported
CCL functions in that directory.

> Instead of rebuilding an image, there maybe could exist a file that you
> can load that recreates the necessary datastructures to make this
> information available.

The process of recompiling the lisp from sources takes no more than
a few minutes; even if it seems unintuitive at first, it's the sort
of thing that one can do in one's sleep.  (Trust me.)

Since the OpenMCL documentation is so spotty, it'd probably make
sense to distribute the image with debugging information included
(and to enable the relevant variables by default.)  A voice
in the back of my head is saying something about keeping the image
size small, but I've never thought twice about distributing the
kernel with debugging information embedded int it, despite the
fact that this makes it several 100 KB larger.

> I know that in MCL there is a file called MCL Help (Map) that does
> contains most of the info needed. Was that file (and its contents) part
> of the deal when OpenMCL became open source ? What I mean is, could we
> take that info and use it ?

I never thought that it'd be interesting: it documents the MCL
environment (FRED and the window system) as well as CL/CCL things, and
it's full of ad hoc formatting codes that made it very hard to
maintain (I'd be skeptical of how well it documents MCL; the first few
entries I glanced at said things that haven't been true in several
years.)  At the same time, I'm sure that there's a lot of helpful
information there; it'd certainly be easier to edit the existing
content than it would be to start from scratch.  I son't -think-
that Digitool would object to it being used in OpenMCL, but I
don't think it occurred to me to ask.  I'll try to do so.

> Sven
> --
> Sven Van Caekenberghe - mailto:sven at beta9.be
> Beta Nine - software engineering - http://www.beta9.be
> .Mac - svc at mac.com - http://homepage.mac.com/svc

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

More information about the Openmcl-devel mailing list