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: FUTURE.rst
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,25 +3,25 @@
3
3
2026-2027 Roadmap
4
4
=================
5
5
6
-
WMA's ``Hold`` attributes limit function application, not rule rewrite. However in Mathics3, that distinction is not made. We need to make another foray into ``Expression.rewrite_apply_eval_step()`` to address this. We will probably need to add a boolean field ``rule.apply()`` to indicate whether HOLD is in effect or not.
6
+
WMA's ``Hold`` attributes limit function application, not rule rewrite. However, in Mathics3, that distinction is not made. We need to make another foray into ``Expression.rewrite_apply_eval_step()`` to address this. We will probably need to add a boolean field ``rule.apply()`` to indicate whether HOLD is in effect or not.
7
7
8
-
Bruce Lucas' vectorization to NumPy arrays needs to be filled out across the code base. The user interface to NumericArray needs to be added, and we can probably do something similar for SparseArray implemented in NumPy. Bruce's "compilation" for SymPy functions should be expanded to any mathics.core_eval routine that handles vectors.
8
+
Bruce Lucas' vectorization to NumPy arrays needs to be completed across the codebase. The user interface for NumericArray needs to be added, and we can probably do something similar for the SparseArray implementation in NumPy. Bruce's "compilation" for SymPy functions should be expanded to any mathics.core_eval routine that handles vectors.
9
9
10
10
With this code in ``Mathics3-Module-vectorizedplot`` can be moved into mathics-core.
11
11
12
12
With this ``ComplexPlot``, ``ContourPlot`` (for vectors), ``ContourPlot3D``, ``DensityPlot``, ``ParametgricPlot3d``, ``SphericalPlot3D`` among others will be included.
13
13
14
14
A middleware Render library should be added. One involving ``drawsvg`` in on my (rocky) radar.
15
15
16
-
GNU Emacs-style Autoloading.
16
+
GNU Emacs-style Autoloading, possibly via [lazy-load](https://pypi.org/project/lazy-load/) or what is in SAGE/passagemath.
17
17
18
18
Finish Boxing, e.g. ``DisplayForm``.
19
19
20
20
Get rid of ``mathics.core.expression.ExpressionCache``. While at one point this sped up the older ``Mathics``, it was a little bit misguided. The Pythonic way of handling this is to use ``@cache`` (or the older Python 2 ``@lrcache`` decorators.
21
21
22
-
Streamline ``BaseEement``. It has some very specific and non-generic element methods like ``get_sequence``, ``get_precision``, ``get_elements``, and ``replace_vars``. These should be attached to subclassed "base" classes for which this the methods make sense.
22
+
Streamline ``BaseEement``. It has some very specific and non-generic element methods like ``get_sequence``, ``get_precision``, ``get_elements``, and ``replace_vars``. These should be attached to subclassed "base" classes for which these methods make sense.
23
23
24
-
Add custom ``evaluate`` method for Pattern and friends. Having this be a part of (compound), ``Expression`` evaluation makes that evaluation more complex, harder to understand (and possibly slower too).
24
+
Add a custom ``evaluate`` method for Pattern and friends. Having this be a part of (compound), ``Expression`` evaluation makes that evaluation more complex, harder to understand (and possibly slower too).
25
25
26
26
2026 Achievements
27
27
-----------------
@@ -42,11 +42,11 @@ Support Python 3.13.
42
42
43
43
Major foundational work was done in scanning boxing operators and getting rule selection for functions closer to WMA. Additionally, work was done to correct assignment functions, such as ``Upset``, ``Downset``, and ``SetDelayed``, so that they conform more closely to WMA behavior.
44
44
45
-
With these changes, it should be more straightforward to adjust ``MakeBox`` rules so that these conform. This is the top priority.
45
+
With these changes, it should be more straightforward to adjust ``MakeBox`` rules so that they conform. This is the top priority.
46
46
47
47
A preliminary version of the Rule-Based Integration Package ``Rubi``, was started. We will continue to improve the kernel to make this work faster and better.
48
48
49
-
Some preliminary debugging support was added. Position information is starting to be captured, but much more work is needed to capture more of it and proliferate this information throughout evaluation.
49
+
Some preliminary debugging support was added. Position information is starting to be captured, but much more work is needed to capture more of it and proliferate this information throughout the evaluation.
0 commit comments