Regarding CLOS or similar approaches.
There was a tendency in programming macsyma originally to
"traffic in body parts". This might cause problems in making
a clean approach to types. Thus for the CRE form, we sometimes
decapitated the form, and used only (cdr ..) of the form.
For bigfloats, the equivalent is knowing that you have a bigfloat,
and decapitating it, so you just have a list of exponent and fraction,
with the precision set as a global variable, and the fact that you
are dealing with a BIGFLOAT, implicit in the program that is being
called.
Maybe this causes no problems and insignificant inefficiencies
compared to the time saved by not having to debug things.
For what it is worth, there are major major advantages in speed, for
numbers that are just a few words long, from using GMP instead of
the home-grown bigfloats. I think GCL already uses GMP, no? If so,
using a few more interfaces may make this facility much faster.
RJF
Raymond Toy wrote:
>>>>>>"Mike" == Mike Thomas <mike.thomas@brisbane.paradigmgeo.com> writes:
>
>
> Mike> I accidentally deleted a couple of emails re CLOS and ANSI GCL and Ray's
> Mike> proposal so can't reply directly to those.
>
> Mike> PCL is indeed part of ANSI GCL and can be brought into the maxima package on
> Mike> the current stable release of Windows Maxima (after running "to_lisp()" )
> Mike> with "use-package" as follows:
>
> I take it it mean PCL is available, but isn't really quite integrated
> into ansi gcl yet.
>
> Mike> Errors about the class named "real" occur with Ray's code as shown below.
> Mike> I'm not well versed (or chaptered, for that matter, if you'll forgive my
>
> Does that mean that gcl doesn't know about the Lisp type REAL? That's
> supposed to be standard. Or maybe my example code is wrong, and I
> should have said cl:real instead.
>
> I'd try to make this work, but I don't have a recent build of gcl.
>
> Ray
>
> _______________________________________________
> Maxima mailing list
> Maxima@www.math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima