bug-lispm
[Top][All Lists]
Advanced

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

Re: roman-step


From: Alfred M. Szmidt
Subject: Re: roman-step
Date: Thu, 07 Nov 2024 02:09:42 -0500



   > On Nov 5, 2024, at 9:56 PM, Alfred M. Szmidt <ams@gnu.org> wrote:
   > 
   > 
   >   When trying to compile SYS: IO; FORMAT LISP (on trunk sys), I get the 
error:
   > 
   >   << While compiling (:PROPERTY R FORMAT-CTL-ONE-ARG) >>
   >     Function ROMAN-STEP called with too many arguments.
   > 
   >   Same thing with SYS: IO1; OUTPUT LISP.
   > 
   >   OUTPUT LISP simply has a single reference in PLURAL:
   > 
   >        (format::roman-step number 0 nil))
   > 
   >   And FORMAT LISP defines ROMAN-STEP as:
   > 
   >   (DEFUN ROMAN-STEP (X N ROMAN-OLD)
   >     (declare (unspecial roman-old))                       ;>>for 
recompilation
   >     …
   > 
   >   And all of the references to ROMAN-STEP in FORMAT provide 3 args —
   >   so they are all ok.
   > 
   >   My guess is that in system 300, ROMAN-STEP was defined as taking
   >   two parameters, and the compiler knows this when compiling FORMAT —
   >   hence the error, since the references to ROMAN-STEP are BEFORE the
   >   definition of that function.
   > 
   >   But what I don’t understand is that when FORMAT gets compiled, and
   >   we try to compile OUTPUT, why we AGAIN get the error. The compiler
   >   should now know that ROMAN-STEP demands 3 parameters.
   > 
   >   Thoughts?
   > 
   > Did you _LOAD_ FORMAT (and get the new ROMAN-STEP)?


   Well, actually, I did mean compile, but I assume you’re saying that
   just because the compiler notices functions and the number of
   parameters they take, that it doesn’t remember this information
   anywhere so a subsequent compile will not know what was gleamed
   during the previous compilation.  Ok.  Thanks.

The compiler looks at the definition of the loaded function; just
compiling does not change that.

You need to load the function too.



reply via email to

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