In Maxima 5.25.1 GCL 2.6.8 on Windows, 1000! + 0.1 does print
1..#INF00e+000E+10,
so it doesn't seem to be a GCL-specific problem. But then,
1.#INF00e+000E+10 is a ridiculous way to print the value, and not a
first-class Maxima object.
But in any case, I would consider *any* of these results to be bugs in the
Maxima implementation, considered as a black box. The user doesn't care
whether it's Clisp, GCL, SBCL, etc., just that Maxima is not producing a
useful result or a meaningful error message (not a Lisp error message).
-s
On Fri, Nov 23, 2012 at 11:37 AM, Robert Dodier <robert.dodier at gmail.com>wrote:
> On 2012-11-23, Stavros Macrakis <macrakis at alum.mit.edu> wrote:
>
> > As Jaime says, the problem is that 1000! is too large to be represented
> as
> > a floating-point number. In some implementations, float(1000!) returns a
> > NaN value, which Maxima isn't prepared to handle.
>
> Actually it's a bug in GCL: GCL computes a non-numeric (inf or nan)
> value successfully, but then it cannot format the value for display
> (because Maxima punts to Lisp to format it).
>
> Other Lisp implementations either refuse to compute a non-numeric value
> (e.g. Clisp) or they compute it & display it (e.g. SBCL).
>
> best,
>
> Robert Dodier
>
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima
>