compile Maxima file containing a large list



Volker van Nek <volkervannek at gmail.com> wrote:

   CLISP 2.49
   [1]> (with-standard-io-syntax *print-radix*)
   NIL
   
So it seems the CLISP printer doesn't conform to the ANS, which says

  22.1.3.1.1 Printing Integers

  Integers are printed in the radix specified by the current output base
  in positional notation, most significant digit first. If appropriate, a
  radix specifier can be printed; see *print-radix*. If an integer is
  negative, a minus sign is printed and then the absolute value of the
  integer is printed. The integer zero is represented by the single digit
  0 and never has a sign. A decimal point might be printed, depending on
  the value of *print-radix*.

and the description of *print-radix* is

  If the value of *print-radix* is true, the printer will print a radix
  specifier to indicate the radix in which it is printing a rational
  number. The radix specifier is always printed using lowercase
  letters. If *print-base* is 2, 8, or 16, then the radix specifier used
  is #b, #o, or #x, respectively. For integers, base ten is indicated by a
  trailing decimal point instead of a leading radix specifier; for ratios,
  #10r is used.

The difference between "10" and "10." is the treatment by the reader:

 cl-user(29): (let ((*read-base* 16)) (read-from-string "(10 10.)"))
 (16 10)