You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGES.rst
+52-17
Original file line number
Diff line number
Diff line change
@@ -1,14 +1,22 @@
1
1
CHANGES
2
2
=======
3
3
4
+
8.0.0
5
+
-----
6
+
7
+
Jan 26, 2025
8
+
4
9
This release is to get out some of the major changes that have gone on
5
10
already in advance of redoing Boxing and Formatting.
6
11
12
+
Code now supports the emscripten platform, so this code can be installed
13
+
in pyodide using ``micropip.install``.
14
+
7
15
Operators are now controlled from a new operators YAML table from the
8
16
``mathics-scanner`` repository. A pass was made over the Mathics parser
9
17
to handle box operators more properly. More work is needed here.
10
18
11
-
We started adding more debugging capabilites:
19
+
We started adding more debugging capabilities:
12
20
13
21
* ``Breakpoint[]``
14
22
* ``Stack[]``, and
@@ -20,33 +28,41 @@ And in the ``Mathics3-Trepan`` repository:
20
28
* ``Debugger[]``, and
21
29
* ``TraceActivate[]``
22
30
23
-
This code is very much alpha quality, but it greatly improves the
24
-
ability to debug problems in loading existing packages written from
25
-
Mathematica. So packages ``BoolEval`` and ``CleanSlate`` were added to
26
-
the repostiory.
31
+
Option ``--post-mortem`` was added which goes into the `trepan3k debugger <https https://pypi.org/project/trepan3k/>`_ on an unrecoverable error. This option is available on other front ends.
32
+
33
+
This debugging code is very much alpha quality, but it greatly
34
+
improves the ability to debug problems in loading existing packages
35
+
written from Mathematica. So packages ``BoolEval`` and ``CleanSlate``
36
+
were added to the repository.
27
37
28
38
Also as a result of the improved ability to debug Mathics3, we now
29
39
provide a version of Rubi 4.17 using git submodules . To use this you
30
40
will need a patched version of ``stopit``. Aravindh Krishnamoorthy
31
-
led the initial port of Rubi.
41
+
led the initial port of `Rubi<https://github.com/Mathics3/Mathics3-Rubi>`_.
32
42
33
43
David A. Roberts worked on ensuring Mathics3 runs on pyodide and
34
44
contributed a number of new Built-in Functions that are found in `The
35
-
On-Line Encyclopedia of Integer Sequences (OEIS) <https://oeis.org/>`_
45
+
On-Line Encyclopedia of Integer Sequences (OEIS) <https://oeis.org/>`_.
36
46
37
47
38
48
New Builtins
39
49
++++++++++++
40
50
41
51
* ``Between``
42
-
* ``Breakpoint`` - forces a Python ``breakpoint()``
52
+
* ``Breakpoint`` - (not WMA; forces a Python ``breakpoint()``
43
53
* ``CheckAbort``
44
54
* ``FileNameDrop``
45
55
* ``FormatValues``
46
-
* ``SetEnvironment``
56
+
* ``ListStepPlot``
57
+
* ``MapApply``
58
+
* ``PythonCProfileEvaluation`` (not WMA; interface to Python cProfile)
59
+
* ``RealValuedNumberQ``
47
60
* ``SequenceForm``
61
+
* ``SetEnvironment``
48
62
* ``Stack``
63
+
* ``SyntaxQ``
49
64
* ``Trace``
65
+
* ``UnitStep``
50
66
51
67
By `@davidar <https://github.com/davidar>`_:
52
68
@@ -74,23 +90,38 @@ By `@davidar <https://github.com/davidar>`_:
74
90
* ``SquaresR``
75
91
* ``Subfactorial``
76
92
93
+
Documentation
94
+
+++++++++++++
95
+
96
+
* Unicode operators appear in Django documentation. In the PDF, AMSLaTeX is used.
97
+
* Summaries of builtin functions have been improved and regularized
98
+
77
99
``mathics`` command line
78
100
++++++++++++++++++++++++
79
101
80
-
* ``--post-mortem`` option added which will go into the `trepan3k debugger <https https://pypi.org/project/trepan3k/>`_ on an unrecoverable error.
102
+
Option ``--post-mortem`` was added which goes into the `trepan3k
103
+
debugger <https https://pypi.org/project/trepan3k/>`_ on an
104
+
unrecoverable error. This option is available on other front-ends..
81
105
82
106
WMA Compatibility
83
107
-----------------
84
108
85
109
* ``GetEnvironment`` expanded to handle ``[]`` and ``{var1, var2,...}`` forms
86
110
* The system ``packages`` directory has been renamed ``Packages`` to conformance with WMA.
87
111
* ``$Path`` now includes a ``Packages`` directory under ``$HOME``.
112
+
* All of the 100 or so Unicode operators without a pre-defined meaning are now supported
88
113
89
114
Internals
90
115
---------
91
116
92
-
* Operator information has been gone over and is picked up from JSON
93
-
tables produced from the Mathics Scanner project.
117
+
* More of the on-OO evaluation code that forms what might be an
118
+
instruction evaluator has been moved out of the module
119
+
``mathics.builtins`` put in ``mathics.eval``. This includes code for
120
+
plotting, and making boxes.
121
+
* nested ``TimeConstraint[]`` works via external Python module ``stopit``.
122
+
* ``Pause[]`` is more interruptible
123
+
* More code has been linted, more type errors removed, and docstrings added/improved
124
+
94
125
95
126
Performance
96
127
-----------
@@ -108,31 +139,33 @@ API incompatibility
108
139
* Patterns in ``eval_`` and ``format_`` methods of builtin classes
109
140
parses patterns in docstrings of the form
110
141
``Symbol: Expr`` as ``Pattern[Symbol, Expr]``.
111
-
To specify associated format in ``format_`` methods the
142
+
To specify the associated format in ``format_`` methods the
112
143
docstring, the list of format must be wrapped in parenthesis, like
113
144
``(InputForm,): Definitions[...]`` instead of just ``InputForm: Definitions[...]``.
114
-
145
+
* Character and Operator information that has been gone over in the Mathics Scanner project. The information in JSON tables, the keys, and values have thus change. Here, we read this information in and use that instead of previously hard-coded values.
115
146
116
147
117
148
Bugs
118
149
----
119
150
120
151
* Fix infinite recursion when formatting ``Sequence[...]``
152
+
* Parsing ``\(`` ... ``\)`` improved
153
+
* Fixed #1105, #1106, #1107, #1172 #1173, #1195, #1205, #1221, #1223, and #1228 among others
121
154
122
155
Mathics3 Packages
123
156
+++++++++++++++++
124
157
125
158
* Added ``BoolEval``
126
159
* Added ``CleanSlate``
127
-
* ``Combinatorica`` moved to a separate repository and v.9 renamed to 0.9.1.
128
-
More code v0.9.1 works. v2.0 renamed v2.0.1 and some code now works.
160
+
* ``Combinatorica`` moved to a separate repository and v.9 was renamed to 0.9.1.
161
+
More code v0.9.1 works. v2.0 was renamed v2.0.1 and some code now works.
129
162
* ``Rubi`` version 4.17 (work in progress; algebraic integrations work)
0 commit comments