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
+22-22Lines changed: 22 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,12 +5,12 @@
5
5
10.0.0
6
6
======
7
7
8
-
Some foundational work done to overhaul plotting using vectors with NumPy was started. Alas, work on it was not complete by release time to have finished this. Expect a future release to have revamped graphics.
8
+
Some foundational work on overhauling plotting with NumPy vectors was started. Alas, work on it was not complete by release time, so this could not be finished. Expect a future release to have revamped graphics.
9
9
10
10
Notes:
11
11
12
12
#. There are incompatible changes. Use with Mathics-scanner 10.0.0 or greater.
13
-
#. We are in the process of renaming ``Mathics`` to ``Mathics3``. ``Mathics`` was monolithic Python 2-ish code. Mathics3 has rewritten a number of major subcomponents, and spit off a number of subcomponents. There are still several that still need to be revised or rewritten. The name change reflects this distinction between the two efforts, and emphasizes that ``Mathics3`` uses modern Python 3 idioms. While right now the repository name and import refer to ``mathics``, several repositories that use the Mathics3 core, or that Mathics3 uses have been renamed. In particular, ``Mathics_Scanner`` is now ``Mathics3_Scanner``.
13
+
#. We are in the process of renaming ``Mathics`` to ``Mathics3``. You will notice a new Mathics3 logo in the documentation. ``Mathics`` was monolithic Python 2-ish code. Mathics3 has rewritten a number of major subcomponents and split off a number of subcomponents. There are still several that need to be revised or rewritten. The name change reflects this distinction between the two efforts, and emphasizes that ``Mathics3`` uses modern Python 3 idioms. While right now the repository name and import refer to ``mathics``, several repositories that use the Mathics3 core, or that Mathics3 uses, have been renamed. In particular, ``Mathics_Scanner`` is now ``Mathics3_Scanner``.
14
14
15
15
16
16
New Builtins
@@ -29,7 +29,7 @@ New Builtins
29
29
Enhancements
30
30
------------
31
31
32
-
* Many Builtin functions now report argumentmismatch errors
32
+
* Many Builtin functions now report argument-mismatch errors
33
33
* ``Trig`` option added to ``Numerator`` and ``Denominator``
34
34
35
35
Bugs Fixed
@@ -63,7 +63,7 @@ Internals
63
63
Corrections were made to variables ``$PrintForms`` and ``$OutputForms``. (mmatera)
64
64
* A major revision and reorganization was begun to improve Boxing.
65
65
Corrections were made to variables ``$PrintForms`` and ``$OutputForms``.
66
-
* Primitive datatype ``NumericArray``, which is essentially a NumPy array was added to support vector operations, such as plotting. (Bruce Lucas) In support of this the module ``mathics.core.atoms`` was split up.
66
+
* Primitive datatype ``NumericArray``, which is essentially a NumPy array, was added to support vector operations, such as plotting. (Bruce Lucas) In support of this, the module ``mathics.core.atoms`` was split up.
67
67
* Internals for handling Graphics have been revised to be able to accept a more complete list.
68
68
* Parsing now uses more data from YAML tables instead of hard-coding values inside code.
69
69
* Revise representation for ``Complex`` Numbers; both the real and imaginary parts can now be arbitrary non-complex Real numbers. The precision, a derived value, is also saved.
@@ -82,10 +82,10 @@ API incompatibility
82
82
-------------------
83
83
84
84
* Front ends must now issue an explicit call to
85
-
``import_and_load_builtins()``. Previously this was handled simply by
85
+
``import_and_load_builtins()``. Previously, this was handled simply by
86
86
``import`` of ``MathicsSession``. Loading modules loaded via
87
87
``import`` was unpredictable in how and when things got loaded. The
88
-
change was make do address this and to be able to give more
88
+
change was made to address this and to be able to give more
89
89
flexibility in loading.
90
90
* Token names have changed to align better with ``CodeParser`CodeTokenize``
91
91
@@ -104,11 +104,11 @@ which happens a lot in plotting graphics. Also, Python 3.13 is a bit
104
104
faster than previous versions. Previously, rendering via ``asymptote`` was
105
105
slow. This is no longer the situation.
106
106
107
-
Preliminary work to track locations has started. This is useful in debugging and error reporting, and is controlled via Boolean System variable ``$TrackLocations``.
107
+
Preliminary work to track locations has started. This is useful in debugging and error reporting, and is controlled via the Boolean System variable ``$TrackLocations``.
108
108
109
109
Boxing operators have been added. The full range of escape sequences is supported. A limited form of boxing escape ``\*`` that handles a single Boxing function has been added.
110
110
111
-
A basic interrupt handler was added that loosely follows wolframscript's interrupt handler. Interrupt commands "abort", "exit", "continue", "debugger", "show", and "inspect" are available; "trace" will be added later.
111
+
A basic interrupt handler was added that loosely follows WolframScript's interrupt handler. Interrupt commands "abort", "exit", "continue", "debugger", "show", and "inspect" are available; "trace" will be added later.
112
112
113
113
``main.py`` has been moved to ``__main__.py`` following Python conventions for main routines. This makes ``python -m mathics`` work.
114
114
GNU Readline history is enabled for ``mathics`` when it is available. It shares history files with ``mathicsscript``.
@@ -153,13 +153,13 @@ Enhancements
153
153
------------
154
154
155
155
#. Set-related code reworked for better WMA conformance. There is better WMA conformance in rule selection when several rules match.
156
-
#. ``mathics`` CLI options are more like wolframscript
156
+
#. ``mathics`` CLI options are more like WolframScript
157
157
#. The debugging interface has been improved. ``TraceEvaluation[]`` and ``TraceDebug[]`` filter and colorize output for Mathics3 constructs much better. Single-dash long options like
158
-
``-help``, ``-file`` are now accepted. Short option ``-f`` is associated with ``-file`` rather than ``--fullform``; ``-F`` is is now used for
158
+
``-help``, ``-file`` are now accepted. Short option ``-f`` is associated with ``-file`` rather than ``--fullform``; ``-F`` is now used for
159
159
``FullForm``. Option ``--read`` with alias ``-r`` is now ``-code`` and short option ``-c``.
160
-
#. Boolean Options ``ShowRewrites`` and ``ShowEvaluation`` were added to ``TraceEvalation[]``. These filtering for either rewrite rules or evaluation expressions. Presumably, you don't want to filter both.
161
-
#. We check argument counts on more Builtin Functions and give error messages (tags ``argb``, ``argx``, ``argr``, ``argrx``) for invalid parameter combinations.
162
-
#. ``$TraceBuiltins`` output uses standard Mathics3 I/O mechanisms rather than Python's builtin ``print``. Therefore it will be seen in more front-ends like Django or pyoxide.
160
+
#. Boolean Options ``ShowRewrites`` and ``ShowEvaluation`` were added to ``TraceEvalation[]``. These filter either rewrite rules or evaluation expressions. Presumably, you don't want to filter both.
161
+
#. We check argument counts on more built-in functions and give error messages (tags ``argb``, ``argx``, ``argr``, ``argrx``) for invalid parameter combinations.
162
+
#. ``$TraceBuiltins`` output uses standard Mathics3 I/O mechanisms rather than Python's builtin ``print``. Therefore, it will be seen in more front-ends like Django or PyOxide.
163
163
164
164
Bugs Fixed
165
165
----------
@@ -168,13 +168,13 @@ Bugs Fixed
168
168
#. #1213 ``Condition[]`` expressions as second element in ``RuleDelayed`` behaviour not compatible with WMA
169
169
#. #1187 Add ``Hypergeometric2F1`` Builtin Function
170
170
#. #1198 Blanks in ``Set`` operations are not properly handled in tag positions.
171
-
#. #1245 Add "lpn" error message checking in _ListPlot
172
-
#. #1383 Support for hypergeometric functions
173
-
#. #1384 Option management tweaks
171
+
#. #1245 Add "lpn" error message checking in _ListPlot.
172
+
#. #1383 Support for hypergeometric functions.
173
+
#. #1384 Option management tweaks.
174
174
#. #1388 In WMA, ``Pochhammer[0,-2]`` returns 1/2
175
175
#. #1395 Match WMA for ``Gamma[1+x]`` and ``Product[...]``
176
176
#. #1405 structure_cache in ``mathics.core.expression.structure`` is ``None`` but we try to set it in ``_is_neutral_symbol()``
177
-
#. #1412 ``Transpose[]`` does not work on three-dimensional array
177
+
#. #1412 ``Transpose[]`` does not work on three-dimensional array.
178
178
#. #1425 `Erroneous Protected message in SetDelayed
179
179
#. #1432 URL links with $ in them are getting messed up
180
180
#. #1461 "noopen" errors sometimes return ``$Failed``
@@ -464,23 +464,23 @@ Internals
464
464
---------
465
465
466
466
* ``eval_abs`` and ``eval_sign`` extracted from ``Abs`` and ``Sign`` and added to ``mathics.eval.arithmetic``.
467
-
* Maximum number of digits allowed in a string set to 7000 and can be adjusted using environment variable
467
+
* The maximum number of digits allowed in a string is set to 7000 and can be adjusted using an environment variable
468
468
``MATHICS_MAX_STR_DIGITS`` on Python versions that don't adjust automatically (like pyston).
469
-
* Real number comparisons implemented is based now in the internal implementation of ``RealSign``.
469
+
* Real number comparisons implemented now use the internal implementation of ``RealSign``.
470
470
* For Python 3.11, the variable ``$MaxLengthIntStringConversion`` controls the maximum size of
471
471
the literal conversion between large integers and Strings.
472
472
* Older style non-appearing and non-pedagogical doctests have been converted to pytest
473
473
* Built-in code is directed explicitly rather than implicitly. This facilitates the ability to lazy load
474
474
builtins or "autoload" them a la GNU Emacs autoload.
475
475
* Add mpmath LRU cache
476
-
* Some work was done to make it possible so that in the future we can speed up initial loading and reduce the initial memory footprint
476
+
* Some work was done to make it possible so that in the future, we can speed up initial loading and reduce the initial memory footprint
477
477
478
478
479
479
Bugs Fixed
480
480
----------
481
481
482
482
* ``Definitions`` is compatible with ``pickle``.
483
-
* Improved support for ``Quantity`` expressions, including conversions, formatting and arithmetic operations.
483
+
* Improved support for ``Quantity`` expressions, including conversions, formatting, and arithmetic operations.
484
484
* ``Background`` option for ``Graphics`` and ``Graphics3D`` is operative again.
485
485
* Numeric comparisons against expressions involving ``String``; Issue #797)
486
486
* ``Switch[]`` involving ``Infinity``. Issue #956
@@ -498,7 +498,7 @@ API
498
498
We now require an explicit call to a new function
499
499
``import_and_load_builtins()``. Previously, loading was implicit and
500
500
indeterminate as to when this occurred, as it was based on import
501
-
order. We need this so that we can add support in the future for lazyloading built-in modules.
501
+
order. We need this so that we can add support in the future for lazy-loading built-in modules.
0 commit comments