[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Axiom-developer] [#77 protected-symbol-warn called with (NIL)] (new) pr

From: Page, Bill
Subject: [Axiom-developer] [#77 protected-symbol-warn called with (NIL)] (new) protected-symbol-warn called with (NIL)
Date: Tue, 25 Jan 2005 10:25:26 -0600

-----Original Message-----
From: Mike Dewar [mailto:address@hidden
Sent: Tuesday, January 25, 2005 10:05 AM
To: Bill Page (E-mail)
Cc: 'address@hidden'; address@hidden
Subject: Re: [Axiom-developer] RE: address@hidden

Hi Bill,

> That reminds me to ask: What is the origin of the message
>    protected-symbol-warn called with (NIL)
> that appears on every error output from Axiom? This looks
> like some kind of lisp error to me. Is this supposed to be
> there?

This is a relic of CCL.  In CCL most functions are compiled to byte
codes which are interpreted at runtime.  However Arthur Norman created a
very nice facility for Axiom which allowed us selectively to compile
functions to C so that they could be linked into the CCL kernel, which
gave quite a welcome performance boost.  Since those functions still
existed in the (byte-code) libraries the kernel versions  had to be
flagged as "protected symbols" so that they did not get over-written
when the libraries were loaded.   We did quite a lot of benchmarking and
included quite a broad selection of ex-spad code in the kernel which we

The only downside to this was that some Axiom users quite liked to
re-compile "official" library code.  So we added a facility to warn
users when a kernel function was overwritten, and allow them to force a
redefinition (")set kernel warn" and ")set kernel protect" are the
relevent incantations IIRC).  

Quite why this message appears every time you get an error is beyond me,
although it may be due to the interaction between the break-loop support
we added for the CCL implementation, and GCL's own debugging facilities.

Cheers, Mike.

forwarded from

reply via email to

[Prev in Thread] Current Thread [Next in Thread]