Some questions: built-in operators and exponent markers

Astrea Drifter <[email protected]> Mon, 13 Jul 2026 00:31:43 -0600
Newsgroups gmane.comp.mathematics.maxima.general
Message-ID <CADZFxc=qF8Mce=tFfBn3OtWU+mp5LKkiPg1NJbJDZcFR+TbaNQ@mail.gmail.com>
--===============5475186955135164180==
Content-Type: multipart/alternative; boundary="0000000000000990540656785fc9"

--0000000000000990540656785fc9
Content-Type: text/plain; charset="UTF-8"

Hello all!

As some of you might have inferred from my previous email, I'm fond of
projects that allow me to tinker around with Maxima's command-line
interface. Currently I have two things that I've been wanting to do for a
while now, and since my motives are no doubt a bit idiosyncratic and
convoluted, I'll include a TL;DR at the end of the email.

One thing I want to do is be able to reassign the exclamation mark operator
! to something other than factorial. My reason is that I can access that
function by using "factorial()" already, and I want to be able to write a
custom operator "!"(x):= x*%i; so that I can enter imaginary numbers
without so many keystrokes but also without using a letter character in the
function name (which can cause headaches for me when I accidentally use the
same letter in function names outside my preamble). My inability to enter
this definition in the terminal suggests that I would need to edit the
source code to make it possible, if such an edit is possible in the first
place. I assume I would have to re-compile the source code after editing
it, but I have no idea how to do that.

I'm also interested in changing the exponent marker on bigfloats from b to p,
such that bfloat(1); would give back 1.0p0 for example. The descender in
the p would make the exponent marker stand out more, helping me visually
distinguish mantissas from exponents in floating-point numbers that have
huge exponents. This also seems difficult to do without editing the source
code somehow.

So the TL;DR is:
Can the exclamation mark ! be removed from the list of built-in operators
without editing the source code?
Can the exponent marker on bigfloats be changed from b to p without editing
the source code?
If the answer to either of these questions is "no", would editing the
source code allow me to do either of these things in the first place?
If the answer to that question is "yes", are there any tools or resources
that would help me recompile an edited version of Maxima's source code?

Thanks in advance for any responses!
Astrea

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

<div dir=3D"ltr">Hello all!<br><br>As some of you might have inferred from =
my previous email, I&#39;m fond of projects that allow me to tinker around =
with Maxima&#39;s command-line interface. Currently I have two things that =
I&#39;ve been wanting to do for a while now, and since my motives are no do=
ubt a bit idiosyncratic and convoluted, I&#39;ll include a TL;DR at the end=
 of the email.<br><br>One thing I want to do is be able to reassign the exc=
lamation mark operator <font face=3D"monospace">!</font> to something other=
 than factorial. My reason is that I can access that function by using &quo=
t;factorial()&quot; already, and I want to be able to write a custom operat=
or <font face=3D"monospace">&quot;!&quot;(x):=3D x*%i;</font><font face=3D"=
arial, sans-serif">=C2=A0so that I can enter imaginary numbers without so m=
any keystrokes but also without using a letter character in the function na=
me (which can cause headaches for me when I accidentally use the same lette=
r in function names outside my preamble). My inability to enter this defini=
tion in the terminal suggests that I would need to edit the source code to =
make it possible, if such an edit is possible in the first place. I assume =
I would have to re-compile the source code after editing it, but I have no =
idea how to do that.<br><br>I&#39;m also interested in changing the exponen=
t marker on bigfloats from </font><font face=3D"monospace">b</font><font fa=
ce=3D"arial, sans-serif">=C2=A0to </font><font face=3D"monospace">p</font><=
font face=3D"arial, sans-serif">, such that </font><font face=3D"monospace"=
>bfloat(1);</font><font face=3D"arial, sans-serif">=C2=A0would give back </=
font><font face=3D"monospace">1.0p0</font><font face=3D"arial, sans-serif">=
=C2=A0for example. The descender in the </font><font face=3D"monospace">p</=
font><font face=3D"arial, sans-serif">=C2=A0would make the exponent marker =
stand out more, helping me visually distinguish mantissas from exponents in=
 floating-point numbers that have huge exponents. This also seems difficult=
 to do without editing the source code somehow.<br><br>So the TL;DR is:<br>=
Can the exclamation mark </font><font face=3D"monospace">!</font><font face=
=3D"arial, sans-serif">=C2=A0be removed from the list of built-in operators=
 without editing the source code?<br>Can the exponent marker on bigfloats b=
e changed from </font><font face=3D"monospace">b</font><font face=3D"arial,=
 sans-serif">=C2=A0to </font><font face=3D"monospace">p</font><font face=3D=
"arial, sans-serif">=C2=A0without editing the source code?<br>If the answer=
 to either of these questions is &quot;no&quot;, would editing the source c=
ode allow me to do either of these things in the first place?<br>If the ans=
wer to that question is &quot;yes&quot;, are there any tools or resources t=
hat would help me recompile an edited version of Maxima&#39;s source code?<=
br><br>Thanks in advance for any responses!<br>Astrea</font></div>

--0000000000000990540656785fc9--


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


--===============5475186955135164180==
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

--===============5475186955135164180==--