Skip to content

Commit e436501

Browse files
authored
Merge pull request #801 from Mathics3/release-6.0.0
Release 6.0.0
2 parents d799526 + fdab864 commit e436501

File tree

11 files changed

+66
-31
lines changed

11 files changed

+66
-31
lines changed

.github/workflows/osx.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
strategy:
1616
matrix:
1717
os: [macOS]
18-
python-version: [3.7, 3.8, 3.9]
18+
python-version: ['3.7', '3.8', '3.9']
1919
steps:
2020
- uses: actions/checkout@v3
2121
- name: Set up Python ${{ matrix.python-version }}
@@ -30,7 +30,8 @@ jobs:
3030
- name: Install Mathics3 with full Python dependencies
3131
run: |
3232
# We can comment out after next Mathics-Scanner release
33-
python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full]
33+
# python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full]
34+
python -m pip install Mathics-Scanner
3435
make develop-full
3536
- name: Test Mathics3
3637
run: |

.github/workflows/ubuntu-cython.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
runs-on: ubuntu-20.04
1414
strategy:
1515
matrix:
16-
python-version: [3.9]
16+
python-version: ['3.10']
1717
steps:
1818
- uses: actions/checkout@v3
1919
- name: Set up Python ${{ matrix.python-version }}
@@ -25,7 +25,8 @@ jobs:
2525
sudo apt-get update -qq && sudo apt-get install -qq liblapack-dev llvm-dev tesseract-ocr
2626
python -m pip install --upgrade pip
2727
# We can comment out after next Mathics-Scanner release
28-
python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full]
28+
# python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full]
29+
python -m pip install Mathics-Scanner
2930
- name: Install Mathics with full dependencies
3031
run: |
3132
make develop-full-cython

.github/workflows/ubuntu.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ jobs:
1111
runs-on: ubuntu-20.04
1212
strategy:
1313
matrix:
14-
python-version: [3.7, 3.8, 3.9]
14+
python-version: ['3.7', '3.8', '3.9', '3.10']
1515
steps:
1616
- uses: actions/checkout@v3
1717
- name: Set up Python ${{ matrix.python-version }}
18-
uses: actions/setup-python@v2
18+
uses: actions/setup-python@v3
1919
with:
2020
python-version: ${{ matrix.python-version }}
2121
- name: Install OS dependencies
@@ -25,7 +25,8 @@ jobs:
2525
run: |
2626
python -m pip install --upgrade pip
2727
# We can comment out after next Mathics-Scanner release
28-
python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full]
28+
# python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full]
29+
python -m pip install Mathics-Scanner
2930
make develop-full
3031
- name: Test Mathics
3132
run: |

.github/workflows/windows.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ jobs:
1212
strategy:
1313
matrix:
1414
os: [windows]
15-
python-version: [3.7, 3.8]
15+
python-version: ['3.8', '3.9']
1616
steps:
1717
- uses: actions/checkout@v3
1818
- name: Set up Python ${{ matrix.python-version }}
19-
uses: actions/setup-python@v2
19+
uses: actions/setup-python@v3
2020
with:
2121
python-version: ${{ matrix.python-version }}
2222
- name: Install OS dependencies
@@ -32,7 +32,8 @@ jobs:
3232
- name: Install Mathics3 with Python dependencies
3333
run: |
3434
# We can comment out after next Mathics-Scanner release
35-
python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full]
35+
# python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full]
36+
python -m pip install Mathics-Scanner
3637
make develop-full
3738
- name: Test Mathics3
3839
# Limit pip install to a basic install *without* full dependencies.

CHANGES.rst

Lines changed: 40 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,31 @@
33
CHANGES
44
=======
55

6-
6.0.0dev0
7-
---------
6+
6.0.0
7+
-----
8+
9+
A fair bit of code refactoring has gone on so that we might be able to
10+
scale the code, get it to be more performant, and more in line with
11+
other interpreters. There is Greater use of Symbols as opposed to strings.
12+
13+
The builtin Functions have been organized into grouping akin to what is found in WMA.
14+
This is not just for documentation purposes, but it better modularizes the code and keep
15+
the modules smaller while suggesting where functions below as we scale.
16+
17+
Image Routines have been gone over and fixed. Basically we use Pillow
18+
imaging routines and as opposed to home-grown image code.
19+
20+
A number of Built-in functions that were implemented were not accessible for various reasons.
21+
22+
Mathics3 Modules are better integrated into the documentation.
23+
Existing Mathics3 modules ``pymathics.graph`` and ``pymathics.natlang`` have
24+
had a major overhaul, although more is needed. And will continue after the 6.0.0 release
825

9-
A fair bit of code refactoring has gone on so that we might be able to scale the code, get it to be more performant, and more in line with other interpreters.
26+
We have gradually been rolling in more Python type annotations and
27+
current Python practices such as using ``isort``, ``black`` and ``flake8``.
28+
29+
Evaluation methods of built-in functions start ``eval_`` not ``apply_``.
1030

11-
Image Routines have been gone over. A number of Built-in functions that were implemented were not accessible for various reasons.
1231

1332
API
1433
+++
@@ -59,21 +78,22 @@ Documentation
5978
#. "Exponential Functional" split out from "Trigonometry Functions"
6079
#. "Functional Programming" section split out.
6180
#. "Image Manipulation" has been split off from Graphics and Drawing and turned into a guide section.
62-
#. Image examples now appear in the PDF doc
81+
#. Image examples now appear in the LaTeX and therfore the PDF doc
6382
#. "Logic and Boolean Algebra" section reinstated.
6483
#. "Forms of Input and Output" is its own guide section.
65-
#. More url links to Wiki pages added; more internal cross links added.
84+
#. More URL links to Wiki pages added; more internal cross links added.
6685
#. "Units and Quantities" section reinstated.
86+
#. The Mathics3 Modules are now included in LaTeX and therefore the PDF doc.
6787

6888
Internals
6989
+++++++++
7090

7191
#. ``boxes_to_`` methods are now optional for ``BoxElement`` subclasses. Most of the code is now moved to the ``mathics.format`` submodule, and implemented in a more scalable way.
7292
#. ``from_mpmath`` conversion supports a new parameter ``acc`` to set the accuracy of the number.
7393
#. ``mathics.builtin.inout`` was split in several modules (``inout``, ``messages``, ``layout``, ``makeboxes``) in order to improve the documentation.
74-
#. ``mathics.eval`` was create to have code that might be put in an instruction interperter. The opcodes-like functions start ``eval_``, other functions are helper functions for those.
75-
#. Operator name to unicode or ASCII comes from Mathics scanner character tables.
76-
#. Builtin instance methods that start ``apply`` are considered rule matching and function application; the use of the name ``apply``is deprecated, when ``eval`` is intended.
94+
#. ``mathics.eval`` was create to have code that might be put in an instruction interpreter. The opcodes-like functions start ``eval_``, other functions are helper functions for those.
95+
#. Operator name to Unicode or ASCII comes from Mathics scanner character tables.
96+
#. Builtin instance methods that start ``eval`` are considered rule matching and function application; the use of the name ``apply``is deprecated, when ``eval`` is intended.
7797
#. Modularize and improve the way in which ``Builtin`` classes are selected to have an associated ``Definition``.
7898
#. ``_SetOperator.assign_elementary`` was renamed as ``_SetOperator.assign``. All the special cases are not handled by the ``_SetOperator.special_cases`` dict.
7999
#. ``isort`` run over all Python files. More type annotations and docstrings on functions added.
@@ -90,12 +110,14 @@ Bugs
90110
#. ``RandomSample`` with one list argument now returns a random ordering of the list items. Previously it would return just one item.
91111
#. Origin placement corrected on ``ListPlot`` and ``LinePlot``.
92112
#. Fix long-standing bugs in Image handling
93-
#. Some scikit image routines line ``EdgeDetect`` were getting omitted due to overly stringent PYPI requirements
94-
113+
#. Some scikit image routines line ``EdgeDetect`` were getting omitted due to overly stringent PyPI requirements
95114
#. Units and Quantities were sometimes failing. Also they were omitted from documentation.
96115
#. Better handling of ``Infinite`` quantities.
97116
#. Improved ``Precision`` and ``Accuracy``compatibility with WMA. In particular, ``Precision[0.]`` and ``Accuracy[0.]``
98117
#. Accuracy in numbers using the notation ``` n.nnn``acc ``` now is properly handled.
118+
#. numeric precision in mpmath was not reset after operations that changed these. This cause huges slowdowns after an operation that set the mpmath precison high. This was the source of several-minute slowdowns in testing.
119+
#. GIF87a (```MadTeaParty.gif`` or ExampleData) image loading fixed
120+
#. Replace non-free Leena image with a a freely distributable image. Issue #728
99121

100122

101123
PyPI Package requirements
@@ -125,6 +147,12 @@ Enhancements
125147

126148
Get in `requirements-cython.txt`` into tarball. Issue #483
127149

150+
New Symbols
151+
+++++++++++
152+
153+
#. ``Undefined``
154+
155+
128156

129157
5.0.1
130158
-----
@@ -146,7 +174,7 @@ New Builtin
146174
Documentation
147175
+++++++++++++
148176

149-
Hyperbolic functions were split off form trigonometry and exponential functions. More url links were added.
177+
Hyperbolic functions were split off form trigonometry and exponential functions. More URL links were added.
150178

151179
Bugs
152180
++++

PAST.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Progress from 2022
1010

1111
A fair bit of code refactoring has gone on so that we might be able to
1212
scale the code, get it to be more performant, and more in line with
13-
other interpreters.
13+
other interpreters. There is Greater use of Symbols as opposed to strings.
1414

1515
The buitin Functions have been organized into grouping akind to what is found in WMA.
1616
This is not just for documentation purposes, but it better modularizes the code and keep
@@ -21,7 +21,7 @@ Image Routines have been gone over.
2121
A number of Built-in functions that were implemented were not accessible for various reasons.
2222

2323
Mathics3 Modules are better integrated into the documentation.
24-
Existing Mathics3 modules pymathics.graph and pymathics.natlang have
24+
Existing Mathics3 modules ``pymathics.graph`` and ``pymathics.natlang`` have
2525
had a major overhaul, although more is needed. And will continue after th 6.0.0 release
2626

2727
We have gradually been rolling in more Python type annotations and

mathics/builtin/atomic/numbers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -917,7 +917,7 @@ class Precision(Builtin):
917917
<dt>'Precision[$expr$]'
918918
<dd>examines the number of significant digits of $expr$.
919919
</dl>
920-
<i>Notice that the result could be slighly different than the obtained\
920+
<i>Note that the result could be slightly different than the obtained \
921921
in WMA, due to differencs in the internal representation of the real numbers.</i>
922922
923923
The precision of an exact number, e.g. an Integer, is 'Infinity':

mathics/builtin/options.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ class None_(Predefined):
180180
:Mesh:
181181
/doc/reference-of-built-in-symbols/drawing-option-and-values/mesh</url> option.
182182
183-
However, you hide the mesh by setting thes 'Mesh' option value to 'None':
183+
However, you hide the mesh by setting the 'Mesh' option value to 'None':
184184
185185
>> Plot3D[{x^2 + y^2, -x^2 - y^2}, {x, -2, 2}, {y, -2, 2}, BoxRatios-> Automatic, Mesh->None]
186186
= -Graphics3D-

mathics/builtin/specialfns/elliptic.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,11 @@ class EllipticF(SympyFunction):
8181
"""
8282
<url>
8383
:Complete elliptic integral of the first kind:
84-
https://en.wikipedia.org/wiki/Elliptic_integral#Complete_elliptic_integral_of_the_first_kind</url> (<url>:SymPy:
85-
https://docs.sympy.org/latest/modules/functions/special.html#sympy.functions.special.elliptic_integrals.elliptic_f</url>, <url>
84+
https://en.wikipedia.org/wiki/\
85+
Elliptic_integral#Complete_elliptic_integral_of_the_first_kind</url> (<url>
86+
:SymPy:
87+
https://docs.sympy.org/latest/modules/functions/\
88+
special.html#sympy.functions.special.elliptic_integrals.elliptic_f</url>, <url>
8689
:WMA:
8790
https://reference.wolfram.com/language/ref/EllipticF.html</url>)
8891
@@ -94,7 +97,7 @@ class EllipticF(SympyFunction):
9497
>> EllipticF[0.3, 0.8]
9598
= 0.303652
9699
97-
EllipticF is zero when the firt argument is zero:
100+
EllipticF is zero when the first argument is zero:
98101
>> EllipticF[0, 0.8]
99102
= 0
100103

mathics/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@
55
# well as importing into Python. That's why there is no
66
# space around "=" below.
77
# fmt: off
8-
__version__="6.0.0dev0" # noqa
8+
__version__="6.0.0" # noqa

0 commit comments

Comments
 (0)