Re: Some questions: built-in operators and exponent markers

Stavros Macrakis <[email protected]> Mon, 27 Jul 2026 22:31:25 -0300
Newsgroups gmane.comp.mathematics.maxima.general
Message-ID <CACLVabXa1if5jB6LdQjgWfQW5Y2SwqGW_i2sgmgfOopMixvAYA@mail.gmail.com>
--===============2186837492080338023==
Content-Type: multipart/alternative; boundary="000000000000ca43d20657a1cc85"

--000000000000ca43d20657a1cc85
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Since you want ! as a convenience, I wonder if it would work as well to
define postfix("!!")? About as easy to type, and that way you don't need to
worry about other packages which happen to use ! for factorial.

On Mon, Jul 27, 2026, 21:35 Astrea Drifter <[email protected]> wrote:

> You are trying to do something that you need not do at all, if you just
>> use the syntax and
>> functional definitions as given, and not bend things.
>>
>
> Before I sent any of these emails I did spend weeks attempting to
> accomplish this project by creating and debugging various sets of
> function definitions, and until now I never had any measure of success.
> Today, however, I tested out another batch of definitions I had thought u=
p
> and this time it not only worked, but worked perfectly (much to my own
> surprise)! So it seems a little more brainstorming was the only thing I w=
as
> in need of all along.
> It's clear in retrospect that trying to edit the source code was a fool's
> errand on my part; I only sought help with it because everything else I w=
as
> doing seemed pointless at the time.
> Thanks for all the help,
> Astrea
>
> On Sat, Jul 25, 2026 at 8:02=E2=80=AFPM Richard Fateman <[email protected]=
m> wrote:
>
>> I can't reproduce your error. I get the right answer for factorial(5b0).
>> However,
>>
>>> (%i1) infix("!");
>>
>> (%o1)                                  !
>>
>> (%i2) "!"(x):=3D x*%i;
>>
>> (%o2)                          ("!"(x)) :=3D x %i
>>
>>
>> is wrong. an infix operator needs TWO arguments.
>> You might try postfix("!").
>>
>> Next,  you appear to be reading into Maxima some file bffac.mac. I don't
>> know why..
>> Presumably that file uses "!",  but you have incorrectly defined that.
>>
>> Furthermore, please do not edit and compile a whole file if you are
>> changing one definition.
>> Just read that definition.
>> Then you won't have irrelevant warning messages.  In fact, if you are
>> explicitly compiling something,
>> dont. just load in the file.
>>
>> You are trying to do something that you need not do at all, if you just
>> use the syntax and
>> functional definitions as given, and not bend things.
>> Good luck.
>>
>> RJF
>>
>> On Sat, Jul 25, 2026 at 3:38=E2=80=AFPM Astrea Drifter <astreadrifter@gm=
ail.com>
>> wrote:
>>
>>> what do you mean
>>>> "I lost the ability to call factorial()"
>>>>
>>>> What happens when you type factorial(5)?
>>>>
>>>
>>> Here's an example session. I can make factorial() work for integers and
>>> floats, but not bigfloats:
>>>
>>> (%i1) :lisp (remprop '$! 'mheader)
>>>
>>>
>>>> (MHEADER (MFACTORIAL) LPOS $EXPR POS $EXPR LBP 160 LED
>>>
>>>          #<FUNCTION PARSE-POSTFIX>)
>>>
>>> (%i1) :lisp (remprop '$! 'led)
>>>
>>>
>>>> (LED #<FUNCTION PARSE-POSTFIX>)
>>>
>>> (%i1) infix("!");
>>>
>>> (%o1)                                  !
>>>
>>> (%i2) "!"(x):=3D x*%i;
>>>
>>> (%o2)                          ("!"(x)) :=3D x %i
>>>
>>> (%i3) factorial(5);
>>>
>>> (%o3)                                 120
>>>
>>> (%i4) factorial(5b0);
>>>
>>> C:/maxima-5.49.0/share/maxima/5.49.0/share/numeric/bffac.mac:30:29:inco=
rrect
>>>> syntax: Illegal use of delimiter )
>>>
>>>  /bfloat(%pi*(s-1)!)
>>>
>>>                   ^
>>>
>>>
>>>  If I use a different character for my operator, but if I also attempt
>>> to change the exponent markers (by loading my edited source files) I ge=
t
>>> the same situation as before. I haven't pasted it into the email becaus=
e
>>> the session generates an extremely long list of style warnings when I l=
oad
>>> the edited files. The only way I know how to make factorial() work for
>>> bigfloats too is if I abandon this project and leave everything the way=
 it
>>> was, and barring any further help I'll probably do just that, at least
>>> until I can learn more Lisp some day.
>>>
>>>  Changing the meaning of "!" and the marker for bigfloats is possible,
>>>> as you see, but changes
>>>
>>> like that typically do not much advance one's ability to get things
>>>> done.
>>>
>>>  Humans are very flexible and can learn new notations rather quickly.
>>>
>>>
>>> I apologize if I've strained anyone's patience here, and I'm certainly
>>> under no illusion that I'm entitled to further answers on this (or, for
>>> that matter, any at all). What I wanted to get done was be able to disp=
lay
>>> things in my own way. I'm well aware that this is an unusual goal for m=
e to
>>> pursue in and of itself; I've been doing this for fun.
>>> Perhaps this was not the right place for me to be seeking help, and if
>>> not, I apologize for that as well.
>>> Astrea
>>>
>>> On Sat, Jul 25, 2026 at 2:32=E2=80=AFPM Richard Fateman <fateman@gmail.=
com>
>>> wrote:
>>>
>>>> what do you mean
>>>> "I lost the ability to call factorial()"
>>>>
>>>> What happens when you type factorial(5)?
>>>>
>>>> There is a program inside Maxima that is the integer factorial program=
.
>>>> You can call it by
>>>> ?factorial(5);
>>>>
>>>> There are various other programs, which you can see listed by doing
>>>> this:
>>>> :lisp (apropos "factorial")
>>>>
>>>> Changing the meaning of "!" and the marker for bigfloats is possible,
>>>> as you see, but changes
>>>> like that typically do not much advance one's ability to get things
>>>> done.
>>>>  Humans are very flexible and can learn new notations rather quickly.
>>>>
>>>> Learning lisp may be of some use.
>>>>
>>>> If you change one function definition, you can put that in a file with
>>>>
>>>> (in-package :maxima)  at the top.
>>>> just read that file in.
>>>> Compilation is not necessary.
>>>>
>>>> good luck
>>>> RJF
>>>>
>>>>
>>>>
>>>>
>>>> On Sat, Jul 25, 2026 at 12:18=E2=80=AFPM Astrea Drifter <
>>>> [email protected]> wrote:
>>>>
>>>>> I've managed to confirm that the problem is in the edited
>>>>> src/nparse.lisp and not in the edited src\float.lisp.
>>>>>
>>>>> On Sat, Jul 25, 2026 at 1:04=E2=80=AFPM Astrea Drifter <
>>>>> [email protected]> wrote:
>>>>>
>>>>>> An update:
>>>>>> After some investigation, I've discovered it's not only the
>>>>>> redefinition of the exclamation mark that makes factorial() and
>>>>>> related functions unusable. The files I edited to replace the expone=
nt
>>>>>> markers have the same effect, and this time I have no idea what coul=
d be
>>>>>> causing it. This effect is less widespread (affects bigfloats only, =
I can
>>>>>> use factorial() with integers and regular floats) but since I never
>>>>>> do calculations with anything other than bigfloats the net effect is=
 the
>>>>>> same for me.
>>>>>> The only changes I made to the files was to replace #\B with #\P, #\=
b
>>>>>> with #\p (in src\nparse.lisp) and |b| with |p| (in src\float.lisp)
>>>>>> I wonder what could be going wrong here?
>>>>>> Astrea
>>>>>>
>>>>>> On Sat, Jul 25, 2026 at 12:19=E2=80=AFPM Astrea Drifter <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>> The printing (and scanning?)  of bigfloats is done by code in
>>>>>>>> src/float.lisp
>>>>>>>> It is not likely that searching for #\b  will do the job, since th=
e
>>>>>>>> file seems to
>>>>>>>> have |b|, also.   It may be possible to wrap up one program,
>>>>>>>> fpformat so that
>>>>>>>> after it produces a list of characters you can substitute p for b
>>>>>>>> in that list.   I don't know
>>>>>>>> if all the front ends use the same formatting program.  I hope the=
y
>>>>>>>> do..
>>>>>>>> It is possible that some of this code was copied into displa.lisp.
>>>>>>>> I haven't checked.
>>>>>>>> RJF
>>>>>>>>
>>>>>>>
>>>>>>> I actually discovered src/float.lisp some weeks ago, while looking
>>>>>>> through the files on my own, and after editing that as well as
>>>>>>> src/nparse.lisp it seems I've been able to replace the exponent mar=
kers
>>>>>>> without any trouble!
>>>>>>> Funnily enough I discovered an issue with my exclamation mark
>>>>>>> operator, which earlier I thought was working perfectly, and it see=
med
>>>>>>> interesting enough to mention here:
>>>>>>>
>>>>>>> If you are open to an option to redefining "!", you might experimen=
t
>>>>>>>> with (or replace "~" with your favorite character)
>>>>>>>>
>>>>>>>> (%i1) prefix("~")$
>>>>>>>>
>>>>>>>> (%i2) "~"(x) :=3D %i*x$
>>>>>>>>
>>>>>>>> (%i3) 5 + ~7;
>>>>>>>> (%o3)                              7 %i + 5
>>>>>>>>
>>>>>>>
>>>>>>>  You might consider using an otherwise-undefined operator, such as
>>>>>>>> "i".
>>>>>>>
>>>>>>>
>>>>>>>> postfix ("i");
>>>>>>>
>>>>>>> x i :=3D x * %i;
>>>>>>>
>>>>>>>
>>>>>>>> x i;
>>>>>>>
>>>>>>>  =3D> x*%i
>>>>>>>
>>>>>>>
>>>>>>>> 100;
>>>>>>>
>>>>>>>  =3D> 100*%i
>>>>>>>
>>>>>>>
>>>>>>> After I had removed "!" from the list of builtin operators, I lost
>>>>>>> the ability to call factorial() as well as related functions like
>>>>>>> erf() and gamma(), which I imagine is because all of these
>>>>>>> functions call on each other in various circumstances and because t=
he (now
>>>>>>> undefined) exclamation mark seems to be in the source code itself:
>>>>>>>
>>>>>>> (%i5) infix("!");
>>>>>>> (%o5)                                  !
>>>>>>> (%i6) "!"(x):=3D x*%i;
>>>>>>> (%o6)                          ("!"(x)) :=3D x %i
>>>>>>> (%i7) factorial(1b0);
>>>>>>> C:/maxima-5.49.0/share/maxima/5.49.0/share/numeric/bffac.mac:30:29:=
incorrect
>>>>>>> syntax: Illegal use of delimiter )
>>>>>>>  /bfloat(%pi*(s-1)!)
>>>>>>>                   ^
>>>>>>>
>>>>>>> (%i8) prefix("!");
>>>>>>> (%o8)                                  !
>>>>>>> (%i9) factorial(1b0);
>>>>>>> C:/maxima-5.49.0/share/maxima/5.49.0/share/numeric/bffac.mac:30:29:=
incorrect
>>>>>>> syntax: Illegal use of delimiter )
>>>>>>>  /bfloat(%pi*(s-1)!)
>>>>>>>                   ^
>>>>>>>
>>>>>>> (%i10) erf(1b0);
>>>>>>> C:/maxima-5.49.0/share/maxima/5.49.0/share/numeric/bffac.mac:30:29:=
incorrect
>>>>>>> syntax: Illegal use of delimiter )
>>>>>>>  /bfloat(%pi*(s-1)!)
>>>>>>>                   ^
>>>>>>>
>>>>>>> (%i11) gamma(1b0);
>>>>>>> C:/maxima-5.49.0/share/maxima/5.49.0/share/numeric/bffac.mac:30:29:=
incorrect
>>>>>>> syntax: Illegal use of delimiter )
>>>>>>>  /bfloat(%pi*(s-1)!)
>>>>>>>
>>>>>>> There's no definiton of factorial built in with Common Lisp as near
>>>>>>> as I can tell, which makes me think it must be defined in
>>>>>>> numeric/bffac.mac with the use of the exclamation mark. Perhaps the=
n my
>>>>>>> "problem" here could be fixed if I were familiar enough with Lisp t=
o be
>>>>>>> able to mess around with the file really confidently. I haven't rea=
ched
>>>>>>> that point though, so using another character for my operator shoul=
d work
>>>>>>> well enough, at least for the time being.
>>>>>>>
>>>>>>> Thanks again for all the help!
>>>>>>> Astrea
>>>>>>>
>>>>>>> On Tue, Jul 21, 2026 at 7:01=E2=80=AFPM Richard Fateman <fateman@gm=
ail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> The printing (and scanning?)  of bigfloats is done by code in
>>>>>>>> src/float.lisp
>>>>>>>> It is not likely that searching for #\b  will do the job, since th=
e
>>>>>>>> file seems to
>>>>>>>> have |b|, also.   It may be possible to wrap up one program,
>>>>>>>> fpformat so that
>>>>>>>> after it produces a list of characters you can substitute p for b
>>>>>>>> in that list.   I don't know
>>>>>>>> if all the front ends use the same formatting program.  I hope the=
y
>>>>>>>> do..
>>>>>>>> It is possible that some of this code was copied into displa.lisp.
>>>>>>>> I haven't checked.
>>>>>>>> RJF
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Tue, Jul 21, 2026 at 3:35=E2=80=AFPM Robert Dodier <
>>>>>>>> [email protected]> wrote:
>>>>>>>>
>>>>>>>>> Glad to hear the bit about the "!" operator is working for you.
>>>>>>>>> About
>>>>>>>>> changing the bigfloat parser, I looked at src/nparse.lisp and I
>>>>>>>>> believe that is indeed the file which contains the bigfloat
>>>>>>>>> parser, so
>>>>>>>>> that is the one to modify.
>>>>>>>>>
>>>>>>>>> I guess you would also want to make the corresponding changes for
>>>>>>>>> the
>>>>>>>>> display code. Maxima has two display modes, one is called the 2-d
>>>>>>>>> pretty printer and the other is the 1-d non-pretty-printer. The
>>>>>>>>> pretty
>>>>>>>>> printer is in src/displa.lisp (note that's displa, not display) a=
nd
>>>>>>>>> the non-pretty printer is in src/grind.liap. Again, you would
>>>>>>>>> search
>>>>>>>>> for #\B and/or #\b and replace them with #\P or #\p.
>>>>>>>>>
>>>>>>>>> Hope this helps,
>>>>>>>>>
>>>>>>>>> Robert
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Maxima-discuss mailing list
>>>>>>>>> [email protected]
>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/maxima-discuss
>>>>>>>>>
>>>>>>>> _______________________________________________
> Maxima-discuss mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/maxima-discuss
>

--000000000000ca43d20657a1cc85
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto">Since you want ! as a convenience, I wonder if it would w=
ork as well to define postfix(&quot;!!&quot;)? About as easy to type, and t=
hat way you don&#39;t need to worry about other packages which happen to us=
e ! for factorial.=C2=A0</div><br><div class=3D"gmail_quote gmail_quote_con=
tainer"><div dir=3D"ltr" class=3D"gmail_attr">On Mon, Jul 27, 2026, 21:35 A=
strea Drifter &lt;<a href=3D"mailto:[email protected]">astreadrifter@=
gmail.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=
=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir=
=3D"ltr"><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8e=
x;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class=3D"gm=
ail_default" style=3D"font-family:arial,sans-serif">You are trying to do so=
mething that you need not do at all, if you just use the syntax and</div><d=
iv class=3D"gmail_default" style=3D"font-family:arial,sans-serif">functiona=
l definitions as given, and not bend things.</div></blockquote><div>=C2=A0<=
/div><div><span style=3D"background-color:transparent">Before I sent any of=
 these emails I did spend weeks attempting=C2=A0to accomplish this project =
by=C2=A0creating and debugging various sets of function=C2=A0definitions, a=
nd until now I never=C2=A0had any measure of success. Today, however, I tes=
ted out another batch of definitions I had thought up and this time it not =
only worked, but worked perfectly (much to my own surprise)! So it seems a =
little more brainstorming was the only thing I was in need of all along.</s=
pan></div><div>It&#39;s clear in retrospect that trying to edit the source =
code was a fool&#39;s errand on=C2=A0my part; I only sought help with it be=
cause everything else I was doing seemed pointless at the time.<br>Thanks f=
or all the help,<br>Astrea<br></div></div><br><div class=3D"gmail_quote"><d=
iv dir=3D"ltr" class=3D"gmail_attr">On Sat, Jul 25, 2026 at 8:02=E2=80=AFPM=
 Richard Fateman &lt;<a href=3D"mailto:[email protected]" target=3D"_blank"=
 rel=3D"noreferrer">[email protected]</a>&gt; wrote:<br></div><blockquote c=
lass=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px soli=
d rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div dir=3D"ltr"><div=
 dir=3D"ltr"><div class=3D"gmail_default" style=3D"font-family:arial,sans-s=
erif;font-size:small">I can&#39;t reproduce your error. I get the right ans=
wer for factorial(5b0).</div><div class=3D"gmail_default" style=3D"font-fam=
ily:arial,sans-serif;font-size:small">However,</div><div class=3D"gmail_def=
ault" style=3D"font-family:arial,sans-serif;font-size:small"><blockquote cl=
ass=3D"gmail_quote" style=3D"font-family:Arial,Helvetica,sans-serif;margin:=
0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">=
<font face=3D"monospace">(%i1) infix(&quot;!&quot;);</font></blockquote><bl=
ockquote class=3D"gmail_quote" style=3D"font-family:Arial,Helvetica,sans-se=
rif;margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding=
-left:1ex"><font face=3D"monospace">(%o1) =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0!</font></blockquote><blockquote class=3D"gmail_quote" style=
=3D"font-family:Arial,Helvetica,sans-serif;margin:0px 0px 0px 0.8ex;border-=
left:1px solid rgb(204,204,204);padding-left:1ex"><font face=3D"monospace">=
(%i2) &quot;!&quot;(x):=3D x*%i;</font></blockquote><blockquote class=3D"gm=
ail_quote" style=3D"font-family:Arial,Helvetica,sans-serif;margin:0px 0px 0=
px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font fac=
e=3D"monospace">(%o2) =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(&quot;!&quot;(x)) :=3D x %i</font></=
blockquote></div><div class=3D"gmail_default" style=3D"font-family:arial,sa=
ns-serif;font-size:small"><br></div><div class=3D"gmail_default" style=3D"f=
ont-family:arial,sans-serif;font-size:small">is wrong. an infix operator ne=
eds TWO arguments.=C2=A0=C2=A0</div><div class=3D"gmail_default" style=3D"f=
ont-family:arial,sans-serif;font-size:small">You might try postfix(&quot;!&=
quot;).</div><div class=3D"gmail_default" style=3D"font-family:arial,sans-s=
erif;font-size:small"><br></div><div class=3D"gmail_default" style=3D"font-=
family:arial,sans-serif;font-size:small">Next,=C2=A0 you appear to be readi=
ng into Maxima some file bffac.mac. I don&#39;t know why..</div><div class=
=3D"gmail_default" style=3D"font-family:arial,sans-serif;font-size:small">P=
resumably that file uses &quot;!&quot;,=C2=A0 but you have incorrectly defi=
ned that.</div><div class=3D"gmail_default" style=3D"font-family:arial,sans=
-serif;font-size:small"><br></div><div class=3D"gmail_default" style=3D"fon=
t-family:arial,sans-serif;font-size:small">Furthermore, please do not edit =
and compile a whole file if you are changing one definition.</div><div clas=
s=3D"gmail_default" style=3D"font-family:arial,sans-serif;font-size:small">=
Just read that definition.</div><div class=3D"gmail_default" style=3D"font-=
family:arial,sans-serif;font-size:small">Then you won&#39;t have irrelevant=
 warning messages.=C2=A0 In fact, if you are explicitly compiling something=
,</div><div class=3D"gmail_default" style=3D"font-family:arial,sans-serif;f=
ont-size:small">dont. just load in the file.</div><div class=3D"gmail_defau=
lt" style=3D"font-family:arial,sans-serif;font-size:small"><br></div><div c=
lass=3D"gmail_default" style=3D"font-family:arial,sans-serif;font-size:smal=
l">You are trying to do something that you need not do at all, if you just =
use the syntax and</div><div class=3D"gmail_default" style=3D"font-family:a=
rial,sans-serif;font-size:small">functional definitions as given, and not b=
end things.=C2=A0 =C2=A0</div><div class=3D"gmail_default" style=3D"font-fa=
mily:arial,sans-serif;font-size:small">Good luck.</div><div class=3D"gmail_=
default" style=3D"font-family:arial,sans-serif;font-size:small"><br></div><=
div class=3D"gmail_default" style=3D"font-family:arial,sans-serif;font-size=
:small">RJF</div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" clas=
s=3D"gmail_attr">On Sat, Jul 25, 2026 at 3:38=E2=80=AFPM Astrea Drifter &lt=
;<a href=3D"mailto:[email protected]" target=3D"_blank" rel=3D"norefe=
rrer">[email protected]</a>&gt; wrote:<br></div><blockquote class=3D"=
gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(20=
4,204,204);padding-left:1ex"><div dir=3D"ltr"><blockquote class=3D"gmail_qu=
ote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,20=
4);padding-left:1ex"><div style=3D"font-family:arial,sans-serif">what do yo=
u mean</div><span><div style=3D"font-family:arial,sans-serif">&quot;<span s=
tyle=3D"font-family:Arial,Helvetica,sans-serif;background-color:transparent=
">I lost the ability to call</span><span style=3D"font-family:Arial,Helveti=
ca,sans-serif;background-color:transparent">=C2=A0</span><font face=3D"mono=
space" style=3D"background-color:transparent">factorial()&quot;</font></div=
><div style=3D"font-family:arial,sans-serif"><font face=3D"monospace" style=
=3D"background-color:transparent"><br></font></div></span><div style=3D"fon=
t-family:arial,sans-serif">What happens when you type factorial(5)?</div></=
blockquote><div><br>Here&#39;s an example session. I can make <font face=3D=
"monospace">factorial()</font><font face=3D"arial, sans-serif">=C2=A0work f=
or integers and floats, but not bigfloats:=C2=A0<br></font><br><blockquote =
class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px sol=
id rgb(204,204,204);padding-left:1ex"><font face=3D"monospace">(%i1) :lisp =
(remprop &#39;$! &#39;mheader)</font></blockquote><blockquote class=3D"gmai=
l_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,20=
4,204);padding-left:1ex"><font face=3D"monospace"><br></font></blockquote><=
blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-l=
eft:1px solid rgb(204,204,204);padding-left:1ex"><font face=3D"monospace">(=
MHEADER (MFACTORIAL) LPOS $EXPR POS $EXPR LBP 160 LED</font></blockquote><b=
lockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-le=
ft:1px solid rgb(204,204,204);padding-left:1ex"><font face=3D"monospace">=
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0#&lt;FUNCTION PARSE-POSTFIX&gt;)</font></=
blockquote><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.=
8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font face=3D"=
monospace">(%i1) :lisp (remprop &#39;$! &#39;led)</font></blockquote><block=
quote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1=
px solid rgb(204,204,204);padding-left:1ex"><font face=3D"monospace"><br></=
font></blockquote><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px=
 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font f=
ace=3D"monospace">(LED #&lt;FUNCTION PARSE-POSTFIX&gt;)</font></blockquote>=
<blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-=
left:1px solid rgb(204,204,204);padding-left:1ex"><font face=3D"monospace">=
(%i1) infix(&quot;!&quot;);</font></blockquote><blockquote class=3D"gmail_q=
uote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,2=
04);padding-left:1ex"><font face=3D"monospace">(%o1) =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0!</font></blockquote><blockquote class=3D"gmail_quo=
te" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204=
);padding-left:1ex"><font face=3D"monospace">(%i2) &quot;!&quot;(x):=3D x*%=
i;</font></blockquote><blockquote class=3D"gmail_quote" style=3D"margin:0px=
 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><fo=
nt face=3D"monospace">(%o2) =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(&quot;!&quot;(x)) :=3D x %i</=
font></blockquote><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px=
 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font f=
ace=3D"monospace">(%i3) factorial(5);</font></blockquote><blockquote class=
=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rg=
b(204,204,204);padding-left:1ex"><font face=3D"monospace">(%o3) =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 120</font></blockquote><blockquote class=3D"gma=
il_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,2=
04,204);padding-left:1ex"><font face=3D"monospace">(%i4) factorial(5b0);</f=
ont></blockquote><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px =
0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font fa=
ce=3D"monospace">C:/maxima-5.49.0/share/maxima/5.49.0/share/numeric/bffac.m=
ac:30:29:incorrect syntax: Illegal use of delimiter )</font></blockquote><b=
lockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-le=
ft:1px solid rgb(204,204,204);padding-left:1ex"><font face=3D"monospace">=
=C2=A0/bfloat(%pi*(s-1)!)</font></blockquote><blockquote class=3D"gmail_quo=
te" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204=
);padding-left:1ex"><font face=3D"monospace"><span style=3D"background-colo=
r:transparent">=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 ^</span>=C2=A0</font></blockquote><div><br>=C2=A0If I use a different c=
haracter for my operator, but if I also attempt to change the exponent mark=
ers (by loading my edited source files) I get the same situation as before.=
 I haven&#39;t pasted it into the email because the session generates an ex=
tremely long list of style warnings when I load the edited files. The only =
way I know how to make <font face=3D"monospace">factorial()</font> work for=
 bigfloats too is if I abandon this project and leave everything the way it=
 was, and barring any further help I&#39;ll probably do just that, at least=
 until I can learn more Lisp some day.<br></div><div><br><blockquote class=
=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rg=
b(204,204,204);padding-left:1ex">=C2=A0<span style=3D"font-family:arial,san=
s-serif;background-color:transparent">Changing the meaning of &quot;!&quot;=
 and the marker for bigfloats is possible, as you see, but changes</span></=
blockquote><blockquote style=3D"margin:0px 0px 0px 0.8ex;border-left:1px so=
lid rgb(204,204,204);padding-left:1ex" class=3D"gmail_quote">like that typi=
cally do not much advance one&#39;s ability to get things done.=C2=A0</bloc=
kquote><blockquote style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid =
rgb(204,204,204);padding-left:1ex" class=3D"gmail_quote">=C2=A0Humans are v=
ery flexible and can=C2=A0<span style=3D"background-color:transparent">lear=
n new notations rather quickly.</span></blockquote><div>=C2=A0</div><div>I =
apologize if I&#39;ve strained anyone&#39;s patience here, and I&#39;m cert=
ainly under no illusion that I&#39;m entitled to further answers on this (o=
r, for that matter, any at all). What I wanted to get done was be able to d=
isplay things in my own way. I&#39;m well aware that this is an unusual goa=
l for me to pursue in and of itself; I&#39;ve been doing this for fun.<br>P=
erhaps this was not the right place for me to be seeking help, and if not, =
I apologize for that as well.<br>Astrea</div></div></div></div><br><div cla=
ss=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Sat, Jul 25, 20=
26 at 2:32=E2=80=AFPM Richard Fateman &lt;<a href=3D"mailto:[email protected]=
om" target=3D"_blank" rel=3D"noreferrer">[email protected]</a>&gt; wrote:<b=
r></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex=
;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr">=
<div style=3D"font-family:arial,sans-serif;font-size:small">what do you mea=
n</div><div style=3D"font-family:arial,sans-serif;font-size:small">&quot;<s=
pan style=3D"font-family:Arial,Helvetica,sans-serif;background-color:transp=
arent">I lost the ability to call</span><span style=3D"font-family:Arial,He=
lvetica,sans-serif;background-color:transparent">=C2=A0</span><font face=3D=
"monospace" style=3D"background-color:transparent">factorial()&quot;</font>=
</div><div style=3D"font-family:arial,sans-serif;font-size:small"><font fac=
e=3D"monospace" style=3D"background-color:transparent"><br></font></div><di=
v style=3D"font-family:arial,sans-serif;font-size:small">What happens when =
you type factorial(5)?</div><div style=3D"font-family:arial,sans-serif;font=
-size:small"><br></div><div style=3D"font-family:arial,sans-serif;font-size=
:small">There is a program inside Maxima that is the integer factorial prog=
ram. You can call it by</div><div style=3D"font-family:arial,sans-serif;fon=
t-size:small">?factorial(5);</div><div style=3D"font-family:arial,sans-seri=
f;font-size:small"><br></div><div style=3D"font-family:arial,sans-serif;fon=
t-size:small">There are various other programs, which you can see listed by=
 doing this:</div><div style=3D"font-family:arial,sans-serif;font-size:smal=
l">:lisp (apropos &quot;factorial&quot;)</div><div style=3D"font-family:ari=
al,sans-serif;font-size:small"><br></div><div style=3D"font-family:arial,sa=
ns-serif;font-size:small">Changing the meaning of &quot;!&quot; and the mar=
ker for bigfloats is possible, as you see, but changes</div><div style=3D"f=
ont-family:arial,sans-serif;font-size:small">like that typically do not muc=
h advance one&#39;s ability to get things done.=C2=A0</div><div style=3D"fo=
nt-family:arial,sans-serif;font-size:small">=C2=A0Humans are very flexible =
and can=C2=A0<span style=3D"background-color:transparent">learn new notatio=
ns rather quickly.</span></div><div style=3D"font-family:arial,sans-serif;f=
ont-size:small"><span style=3D"background-color:transparent">=C2=A0</span><=
/div><div style=3D"font-family:arial,sans-serif;font-size:small">Learning l=
isp may be of some use.</div><div style=3D"font-family:arial,sans-serif;fon=
t-size:small"><br></div><div style=3D"font-family:arial,sans-serif;font-siz=
e:small">If you change one function definition, you can put that in a file =
with</div><div style=3D"font-family:arial,sans-serif;font-size:small"><br><=
/div><div style=3D"font-family:arial,sans-serif;font-size:small">(in-packag=
e :maxima)=C2=A0 at the top.</div><div style=3D"font-family:arial,sans-seri=
f;font-size:small">just read that file in.</div><div style=3D"font-family:a=
rial,sans-serif;font-size:small">Compilation is not necessary.</div><div st=
yle=3D"font-family:arial,sans-serif;font-size:small"><br></div><div style=
=3D"font-family:arial,sans-serif;font-size:small">good luck</div><div style=
=3D"font-family:arial,sans-serif;font-size:small">RJF</div><div style=3D"fo=
nt-family:arial,sans-serif;font-size:small"><br></div><div style=3D"font-fa=
mily:arial,sans-serif;font-size:small"><br></div><div style=3D"font-family:=
arial,sans-serif;font-size:small"><br></div></div><br><div class=3D"gmail_q=
uote"><div dir=3D"ltr" class=3D"gmail_attr">On Sat, Jul 25, 2026 at 12:18=
=E2=80=AFPM Astrea Drifter &lt;<a href=3D"mailto:[email protected]" t=
arget=3D"_blank" rel=3D"noreferrer">[email protected]</a>&gt; wrote:<=
br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8e=
x;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"=
>I&#39;ve managed to confirm that the problem is in the edited src/nparse.l=
isp and not in the edited src\float.lisp.</div><br><div class=3D"gmail_quot=
e"><div dir=3D"ltr" class=3D"gmail_attr">On Sat, Jul 25, 2026 at 1:04=E2=80=
=AFPM Astrea Drifter &lt;<a href=3D"mailto:[email protected]" target=
=3D"_blank" rel=3D"noreferrer">[email protected]</a>&gt; wrote:<br></=
div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;bor=
der-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr">An u=
pdate:<br>After some investigation, I&#39;ve discovered it&#39;s not only t=
he redefinition of the exclamation mark that makes <font face=3D"monospace"=
>factorial()</font><font face=3D"arial, sans-serif">=C2=A0and related funct=
ions unusable. The files I edited to replace the exponent markers have the =
same effect, and this time I have no idea what could be causing it. This ef=
fect is less widespread (affects bigfloats=C2=A0only, I can use=C2=A0</font=
><font face=3D"monospace">factorial()</font><font face=3D"arial, sans-serif=
">=C2=A0with integers and regular floats) but since I never do calculations=
 with anything other than bigfloats=C2=A0the net effect is the same for me.=
<br>The only changes I made to the files was to replace #\B with #\P, #\b w=
ith #\p (in src\nparse.lisp) and |b| with |p| (in src\float.lisp)<br>I wond=
er what could be=C2=A0going wrong here?<br>Astrea</font></div><br><div clas=
s=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Sat, Jul 25, 202=
6 at 12:19=E2=80=AFPM Astrea Drifter &lt;<a href=3D"mailto:astreadrifter@gm=
ail.com" target=3D"_blank" rel=3D"noreferrer">[email protected]</a>&g=
t; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0p=
x 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div d=
ir=3D"ltr"><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.=
8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style=3D"=
font-family:arial,sans-serif">The printing (and scanning?)=C2=A0 of bigfloa=
ts is done by code in src/float.lisp</div><div style=3D"font-family:arial,s=
ans-serif">It is not likely that searching for #\b=C2=A0 will do the job, s=
ince the file seems to</div><div style=3D"font-family:arial,sans-serif">hav=
e |b|, also.=C2=A0 =C2=A0It may be possible to wrap up one program,=C2=A0 f=
pformat so that</div><div style=3D"font-family:arial,sans-serif">after it p=
roduces a list of characters you can substitute p for b in that list.=C2=A0=
 =C2=A0I don&#39;t know</div><div style=3D"font-family:arial,sans-serif">if=
 all the front ends use the same formatting program.=C2=A0 I hope they do..=
</div><div style=3D"font-family:arial,sans-serif">It is possible that some =
of this code was copied into displa.lisp.=C2=A0 I haven&#39;t checked.</div=
><div style=3D"font-family:arial,sans-serif">RJF</div></blockquote><div><br=
>I actually discovered src/float.lisp some weeks ago, while looking through=
 the files on my own, and after editing that as well as src/nparse.lisp it =
seems I&#39;ve been able to replace the exponent markers without any troubl=
e!<br>Funnily enough I discovered an issue with my exclamation mark operato=
r, which earlier I thought was working perfectly, and it seemed interesting=
 enough to mention here:<br><br><blockquote class=3D"gmail_quote" style=3D"=
margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-lef=
t:1ex"><div style=3D"color:rgb(0,0,0)"><font face=3D"arial, sans-serif">If =
you are open to an option to redefining &quot;!&quot;, you might experiment=
 with (or replace &quot;~&quot; with your favorite character)</font></div><=
div style=3D"color:rgb(0,0,0)"><font face=3D"arial, sans-serif"><br></font>=
</div><div style=3D"color:rgb(0,0,0)"><font face=3D"arial, sans-serif">(%i1=
) prefix(&quot;~&quot;)$</font></div><div style=3D"color:rgb(0,0,0)"><font =
face=3D"arial, sans-serif"><br></font></div><div style=3D"color:rgb(0,0,0)"=
><font face=3D"arial, sans-serif">(%i2) &quot;~&quot;(x) :=3D %i*x$</font><=
/div><div style=3D"color:rgb(0,0,0)"><font face=3D"arial, sans-serif"><br><=
/font></div><div style=3D"color:rgb(0,0,0)"><font face=3D"arial, sans-serif=
">(%i3) 5 + ~7;</font></div><div style=3D"color:rgb(0,0,0)"><font face=3D"a=
rial, sans-serif">(%o3) =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A07 %i + 5</font></div=
></blockquote><div><br><blockquote class=3D"gmail_quote" style=3D"margin:0p=
x 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">=
=C2=A0<span style=3D"background-color:transparent">You might consider using=
 an otherwise-undefined operator, such as &quot;i&quot;.</span></blockquote=
><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border=
-left:1px solid rgb(204,204,204);padding-left:1ex"><br></blockquote><blockq=
uote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1p=
x solid rgb(204,204,204);padding-left:1ex">postfix (&quot;i&quot;);</blockq=
uote><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;bo=
rder-left:1px solid rgb(204,204,204);padding-left:1ex">x i :=3D x * %i;</bl=
ockquote><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8e=
x;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br></blockquote=
><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border=
-left:1px solid rgb(204,204,204);padding-left:1ex">x i;</blockquote><blockq=
uote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1p=
x solid rgb(204,204,204);padding-left:1ex">=C2=A0=3D&gt; x*%i</blockquote><=
blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-l=
eft:1px solid rgb(204,204,204);padding-left:1ex"><br></blockquote><blockquo=
te class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px =
solid rgb(204,204,204);padding-left:1ex">100;</blockquote><blockquote class=
=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rg=
b(204,204,204);padding-left:1ex">=C2=A0=3D&gt; 100*%i</blockquote><div><br>=
After I had removed &quot;!&quot; from the list of builtin operators, I los=
t the ability to call <font face=3D"monospace">factorial()</font><font face=
=3D"arial, sans-serif">=C2=A0as well as related functions like </font><font=
 face=3D"monospace">erf()</font><font face=3D"arial, sans-serif">=C2=A0and =
</font><font face=3D"monospace">gamma()</font><font face=3D"arial, sans-ser=
if">, which I imagine is because all of these functions call on each other =
in various circumstances and because the (now undefined) exclamation=C2=A0m=
ark seems to be in the source code itself:<br><br></font><font face=3D"mono=
space">(%i5) infix(&quot;!&quot;);<br>(%o5) =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0!<br>(%i6) &quot;!&quot;(x):=3D x*%i;<br>(%o6) =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0(&quot;!&quot;(x)) :=3D x %i<br>(%i7) factorial(1b0);<br>C:/maxima-5.49.=
0/share/maxima/5.49.0/share/numeric/bffac.mac:30:29:incorrect syntax: Illeg=
al use of delimiter )<br>=C2=A0/bfloat(%pi*(s-1)!)<br>=C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^<br><br>(%i8) prefix(&quot;!&quo=
t;);<br>(%o8) =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0!<br>(%i9) facto=
rial(1b0);<br>C:/maxima-5.49.0/share/maxima/5.49.0/share/numeric/bffac.mac:=
30:29:incorrect syntax: Illegal use of delimiter )<br>=C2=A0/bfloat(%pi*(s-=
1)!)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^<br=
><br>(%i10) erf(1b0);<br>C:/maxima-5.49.0/share/maxima/5.49.0/share/numeric=
/bffac.mac:30:29:incorrect syntax: Illegal use of delimiter )<br>=C2=A0/bfl=
oat(%pi*(s-1)!)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 ^<br><br>(%i11) gamma(1b0);<br>C:/maxima-5.49.0/share/maxima/5.49.0/=
share/numeric/bffac.mac:30:29:incorrect syntax: Illegal use of delimiter )<=
br>=C2=A0/bfloat(%pi*(s-1)!)</font><font face=3D"arial, sans-serif"><br><br=
>There&#39;s no definiton of factorial built in with Common Lisp as near as=
 I can tell, which makes me think it must be defined in numeric/bffac.mac=
=C2=A0with the use of the exclamation mark. Perhaps then my &quot;problem&q=
uot; here could be fixed if I were familiar enough with Lisp to be able to =
mess around with the file really confidently. I haven&#39;t reached that po=
int though, so using another character for my operator should work well eno=
ugh, at least for the time being.<br><br>Thanks again for all the help!<br>=
Astrea</font></div></div></div></div><br><div class=3D"gmail_quote"><div di=
r=3D"ltr" class=3D"gmail_attr">On Tue, Jul 21, 2026 at 7:01=E2=80=AFPM Rich=
ard Fateman &lt;<a href=3D"mailto:[email protected]" target=3D"_blank" rel=
=3D"noreferrer">[email protected]</a>&gt; wrote:<br></div><blockquote class=
=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rg=
b(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div dir=3D"ltr"><div sty=
le=3D"font-family:arial,sans-serif;font-size:small">The printing (and scann=
ing?)=C2=A0 of bigfloats is done by code in src/float.lisp</div><div style=
=3D"font-family:arial,sans-serif;font-size:small">It is not likely that sea=
rching for #\b=C2=A0 will do the job, since the file seems to</div><div sty=
le=3D"font-family:arial,sans-serif;font-size:small">have |b|, also.=C2=A0 =
=C2=A0It may be possible to wrap up one program,=C2=A0 fpformat so that</di=
v><div style=3D"font-family:arial,sans-serif;font-size:small">after it prod=
uces a list of characters you can substitute p for b in that list.=C2=A0 =
=C2=A0I don&#39;t know</div><div style=3D"font-family:arial,sans-serif;font=
-size:small">if all the front ends use the same formatting program.=C2=A0 I=
 hope they do..</div><div style=3D"font-family:arial,sans-serif;font-size:s=
mall">It is possible that some of this code was copied into displa.lisp.=C2=
=A0 I haven&#39;t checked.</div><div style=3D"font-family:arial,sans-serif;=
font-size:small">RJF</div><div style=3D"font-family:arial,sans-serif;font-s=
ize:small"><br></div><div style=3D"font-family:arial,sans-serif;font-size:s=
mall"><br></div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=
=3D"gmail_attr">On Tue, Jul 21, 2026 at 3:35=E2=80=AFPM Robert Dodier &lt;<=
a href=3D"mailto:[email protected]" target=3D"_blank" rel=3D"noreferr=
er">[email protected]</a>&gt; wrote:<br></div><blockquote class=3D"gm=
ail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,=
204,204);padding-left:1ex">Glad to hear the bit about the &quot;!&quot; ope=
rator is working for you. About<br>
changing the bigfloat parser, I looked at src/nparse.lisp and I<br>
believe that is indeed the file which contains the bigfloat parser, so<br>
that is the one to modify.<br>
<br>
I guess you would also want to make the corresponding changes for the<br>
display code. Maxima has two display modes, one is called the 2-d<br>
pretty printer and the other is the 1-d non-pretty-printer. The pretty<br>
printer is in src/displa.lisp (note that&#39;s displa, not display) and<br>
the non-pretty printer is in src/grind.liap. Again, you would search<br>
for #\B and/or #\b and replace them with #\P or #\p.<br>
<br>
Hope this helps,<br>
<br>
Robert<br>
<br>
<br>
_______________________________________________<br>
Maxima-discuss mailing list<br>
<a href=3D"mailto:[email protected]" target=3D"_blank" r=
el=3D"noreferrer">[email protected]</a><br>
<a href=3D"https://lists.sourceforge.net/lists/listinfo/maxima-discuss" rel=
=3D"noreferrer noreferrer" target=3D"_blank">https://lists.sourceforge.net/=
lists/listinfo/maxima-discuss</a><br>
</blockquote></div></div>
</blockquote></div>
</blockquote></div>
</blockquote></div>
</blockquote></div>
</blockquote></div>
</blockquote></div></div>
</div>
</blockquote></div>
_______________________________________________<br>
Maxima-discuss mailing list<br>
<a href=3D"mailto:[email protected]" target=3D"_blank" r=
el=3D"noreferrer">[email protected]</a><br>
<a href=3D"https://lists.sourceforge.net/lists/listinfo/maxima-discuss" rel=
=3D"noreferrer noreferrer" target=3D"_blank">https://lists.sourceforge.net/=
lists/listinfo/maxima-discuss</a><br>
</blockquote></div>

--000000000000ca43d20657a1cc85--


--===============2186837492080338023==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


--===============2186837492080338023==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Maxima-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/maxima-discuss

--===============2186837492080338023==--