Skip to content

Things have changed a bit. Go over Manual section of doc - #2096

Merged
rocky merged 4 commits into
masterfrom
revise-manual-doc
Nov 2, 2026
Merged

rocky merged 4 commits into
masterfrom
revise-manual-doc

Conversation

@rocky

@rocky rocky commented Nov 1, 2026

Copy link
Copy Markdown
Member

Things have changed a bit. Go over the Manual section of the doc.

@rocky
rocky marked this pull request as draft November 1, 2026 15:50
Correct grammar and punctuation errors throughout the document, including clarifications on terms and phrases.
@rocky
rocky force-pushed the revise-manual-doc branch from a945c11 to 9bbeca7 Compare November 2, 2026 02:22

<subsection title="Errors in Sums and Products">
In a sum the absolute errors add up, and in a product the relative errors add up. So the sum of a 20.3-digit number and a 30-digit number has a little more than 20.3 digits:
<section title="Errors in Sums and Products">

@rocky rocky Nov 2, 2026 •

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tombouctou Sadly, this is a section right now since it looks like subsections in both Django and LaTeX in this kind of HTML/XML formatting don't work.

When we've ditched this homegrown form of documentation and use conventional documentation, we should reinstate this as a subsection.

@rocky
rocky marked this pull request as ready for review November 2, 2026 02:49
@rocky
rocky requested review from mmatera and tombouctou November 2, 2026 02:50

@tombouctou tombouctou left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I went through the Manual changes. The main points are the link markup and the subsection flattening; the rest are typos. Details are in the inline comments.

Comment thread mathics/doc/documentation/1-Manual.mdoc Outdated
\Mathics3 is a <url>:computer algebra system:https://en.wikipedia.org/wiki/Computer_algebra_system</url>. It is a free, open-source alternative to \Mathematica or the \Wolfram Language (WMA). However, \Mathics3 builds on the Python ecosystem of libraries and tools. So, in a sense, you can think of it as a WMA front end to the Python ecosystem of tools.

\Mathics3 is free both as in "free beer", but more importantly, as in "freedom". \Mathics3 can be run locally. To facilitate installation of the vast amount of software needed to run this, there is a <url>:docker image available on dockerhub: https://hub.docker.com/r/mathicsorg/mathics</url>.
\Mathics3 is free both as in "free beer", but more importantly, as in "freedom". \Mathics3 can be run locally, installed via <url>:Python's package install mechanism:https://pypi.org/project/Mathics3/</url>, or from <url>:GitHub Source:https://Mathics3.github.com/mathics-core</url> or <url>:run from your browser hooked to the Internet:https://mathics3.github.io/Mathics3-Frontend-live/</url> with no local installation. And if you want to run locally with no Internet connection, to facilitate installation of the vast amount of software needed to get the full experience, there is a <url>:docker image available on dockerhub: https://hub.docker.com/r/mathicsorg/mathics</url>.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The "GitHub Source" link points to https://Mathics3.github.com/mathics-core, a host that doesn't resolve. Should this be https://github.com/Mathics3/mathics-core?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, it should be. Thanks. Will be fixed in the next commit.

Comment thread mathics/doc/documentation/1-Manual.mdoc Outdated
<li>Its development is tightly controlled and centralized, and as such
<li>It can't hook into different kinds of open-source packages that have independently developed algorithms and methods
<li>hooking into different kinds of open-source packages that have been independently developed is harder and less controllable by developers
<li>Because \Wolfram Language is has no standard programming definition, implementation details can be sketchy and left vague: the "standard" is, however, that \Mathematica happens to work at the moment.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo: "Wolfram Language is has no standard" should be "has no standard".

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is resolved, but as with all the other changes above and below, please double-check.

I make mistakes, which is why I use computers to help out.

Comment thread mathics/doc/documentation/1-Manual.mdoc Outdated
Even if you are willing to pay hundreds of dollars for the software, you are limited in seeing what\'s going on "inside" the program if that is your interest.

\Mathics3 combines the beauty of \Mathematica implemented in an open-source environment written in Python. The Python ecosystem includes libraries and tools like:
For example, I (rocky) have thought about writing a debugger for it, but I would be limited in hooking into the lower-level implementation, which is needed to do a really good job. And historically that is intentional. Descriptions of the algorithms and internals of \Mathematica seem have been intentionally omitted. The explanation for this given to the user is that this is not something the user should be concerned about. While this may be true for some or most users, there are those who may want to know anyway.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo: "seem have been intentionally omitted" should be "seem to have been".

Comment thread mathics/doc/documentation/1-Manual.mdoc Outdated
\Mathics3 combines the beauty of \Mathematica implemented in an open-source environment written in Python. The Python ecosystem includes libraries and tools like:
For example, I (rocky) have thought about writing a debugger for it, but I would be limited in hooking into the lower-level implementation, which is needed to do a really good job. And historically that is intentional. Descriptions of the algorithms and internals of \Mathematica seem have been intentionally omitted. The explanation for this given to the user is that this is not something the user should be concerned about. While this may be true for some or most users, there are those who may want to know anyway.

In contrast, \Mathics3 is transparent. If you want to experiment with different implementations or see how things are implemented and discuss different possibilities, we invite you do so! We even have taken pains to <i>describe</i> how things have been implemented. \

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo: "we invite you do so" should be "invite you to do so".

Comment thread mathics/doc/documentation/1-Manual.mdoc Outdated
<li>a <url>:Django-based web server:https://pypi.org/project/Mathics-Django/</url>
<li>a <url>:A browser-based no-install online front-end:https://mathics3.github.io/Mathics3-live/</url>
<li>a <url>:A browser-based no-install online front-end:https://mathics3.github.io/Mathics3-Frontend-live/</url>
<li>a <url>:A Jupyter front-end:https://pypi.org/project/Mathics-Frontend-jupyter</url>

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This links the Jupyter front-end to Mathics-Frontend-jupyter, but line 1567 links mathics3-jupyter-kernel. Line 71 also says reading and writing Jupyter notebooks is something we "might be able someday" to do. Which package is current?

Comment thread mathics/doc/documentation/1-Manual.mdoc Outdated
<console> git grep -n "# TODO: " mathics/builtin</console>

from the Mathics3 core <url>:github repository: https://github.com/Mathics3/mathics-core/blob/master/AUTHORS.txt</url>.
from the Mathics3 core <url>:GitHub repository: https://github.com/Mathics3/mathics-core/blob/master/AUTHORS.txt</url>.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The label now says "GitHub repository", but the link still points to AUTHORS.txt. The git grep command is meant to be run in a clone of https://github.com/Mathics3/mathics-core.

Comment thread mathics/doc/documentation/1-Manual.mdoc Outdated
: Indeterminate expression 0 ^ 0 encountered.
= Indeterminate

<!-- FIXME: the below end section tag will get moved when to encompass the next two sections after we ditch this crappy homegrown HTML/XML stuff -->

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is <!-- ... --> treated as a comment by the mdoc parser? It isn't in ALLOWED_TAGS, and no other mdoc file uses it (comments are ## lines). If it isn't stripped, this text, including "crappy homegrown HTML/XML stuff", ends up escaped in the HTML and PDF manuals. The same question applies to the FIXMEs on lines 258 and 444.


<subsection title="Errors in Sums and Products">
In a sum the absolute errors add up, and in a product the relative errors add up. So the sum of a 20.3-digit number and a 30-digit number has a little more than 20.3 digits:
<section title="Errors in Sums and Products">

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Turning these six subsections of "Precision and Accuracy" into top-level sections (Errors in Sums and Products, Errors in Functions, Complex Numbers, Machine Numbers, Numerical Evaluation with N, Setting the Precision) gives each one its own page and table-of-contents entry in the Tutorial. It also changes their slugs and test keys. Subsections render fine elsewhere in this chapter ("Which Rule Is Tried First", line 902), and the FIXMEs here say these should be subsections. Could the <subsection> nesting be kept?

Comment thread mathics/doc/documentation/1-Manual.mdoc Outdated
In the future, we plan on providing an interface to Jupyter as a separate package.

However, as part \Mathics3, we currently distribute a browser-based interface using long-term-release (LTS) Django 4.
Note: there is are rudimentary interfaces to <url>:Jupyter:https://pypi.org/project/mathics3-jupyter-kernel/</url> and <url>JupyterLight:https://pypi.org/project/mathics3-notebook-frontends/</url>.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two issues on this line: "there is are" should be "there are", and the JupyterLight link is missing its leading colon (<url>JupyterLight:https://... should be <url>:JupyterLight:https://...), so the link target is broken.

Comment thread mathics/doc/documentation/1-Manual.mdoc Outdated
Note: there is are rudimentary interfaces to <url>:Jupyter:https://pypi.org/project/mathics3-jupyter-kernel/</url> and <url>JupyterLight:https://pypi.org/project/mathics3-notebook-frontends/</url>.

Since a Jupyter-based interface seems preferable to the home-grown interface described here, it is doubtful whether there will be future improvements to this interface.
Historically, the browser-based interface was written in Jupyter, based on the long-term release (LTS) Django 4.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"written in Jupyter, based on ... Django 4": should this say Django? This chapter is about the Django-based interface.

@rocky

rocky commented Nov 2, 2026

Copy link
Copy Markdown
Member Author

I went through the Manual changes. The main points are the link markup and the subsection flattening; the rest are typos. Details are in the inline comments.

I think I have addressed the link issues and other issues aside from the section/subsection tagging. I need to isolate that in another commit.

In Django, with commit Mathics3/Mathics3-Frontend-django@f7810d7, subsections get rendered inside their surrounding sections.

For LaTeX, I saw that the subsection gets dropped altogether, and I need to check what's up there, which I will do soon.

@rocky

rocky commented Nov 2, 2026

Copy link
Copy Markdown
Member Author

Heads up: I will also be adding as Mathics3-Package-GJChaitin from https://github.com/GJChaitin/unknowable/blob/master/lisp.m .

I think, though, that will be in another commit.

@rocky

rocky commented Nov 2, 2026

Copy link
Copy Markdown
Member Author

@tombouctou I have reinstated the Precision and Accuracy subsections. It currently renders in Django. #2075 has been opened to address rendering in LaTeX.

There will be more rounds over this doc, but these changes have already gotten a bit big.

@rocky
rocky merged commit 892a038 into master Nov 2, 2026
15 checks passed
@rocky
rocky deleted the revise-manual-doc branch November 2, 2026 15:53
@rocky

rocky commented Nov 2, 2026

Copy link
Copy Markdown
Member Author

@tombouctou @mmatera I am thinking about adding a section linking to other open-source Mathematica implementations, namely Symja, Woxi, and Mathilda. Comments?

@tombouctou

tombouctou commented Nov 2, 2026 via email

Copy link
Copy Markdown
Collaborator

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants