-
-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mathics DownValues[f]//FullForm
is different from Mathematica's
#1209
Comments
DownValues[f] // FullForm
is different from Mathematica'sDownValues[f]//FullForm
is different from Mathematica's
If this turns out to be about how something is internally represented, we might address it sooner. as its own thing. However if this turns out not to be about the internal structuring about how FullForm is presenting the information, then that is one of the other big problems that remain to be addressed. @mmatera - your thoughts? I have in mind coming out with a release soon. But I hesitate because there is this small stuff for Rubi which we are addressing, and I'd like to have at least some version of Rubi running for the next release. After that I think we can focus on Boxing and Formatting. That is likely to have a lot of interim breakages, because a lot of tests have to be rewritten to expect the changed output. |
I think the current Rubi codebase works well for a majority of the algebraic tests. The only remaining (blocking) issue is with |
We can probably put a little more work on TimeConstrained to try to make it better.
I think it would be interesting. I'd like to be able to show progress toward getting existing packages working. Personally, I am expecting that a novice user is going to start using Mathics3 for its ability to run Rubi. Rather, I think we should attract more people like you who see some potential here and would be willing to work on either the Rubi Mathics3 code or some other similar code like KnotTheory package (or something else).
Originally, I had wanted it to be now or in December. However because of this work and a flurry of other activity, as soon as that activity dies down. The next release will break the API yet again due to the changes in passing operator information from the scanner to mathics core. And for that there is probably one more piece of information I think we should pass back even if we don't (and probably won't) use it in the next release so that we don't break API in the release after the next. As I've said, after the next release there may be a bit of downtime as we try to get boxing and formatting under control. But with the next release, I believe people will be able to install fro emscripten/pyoide. |
This is not about how
In WMA, if we apply the rule In Mathics, the interpreter understands that Now, when Mathics execute a (Delayed) assignment instruction
|
@mmatera Thanks for the information. This sounds like a deeper kind of problem and that to fix may require a lot of changes or breakage. Let's postpone handling this until after the next release. |
Maybe it is not super complex, but yes requires changes in several places. I do not know how much this affects Ruby and other packages, but I can report this as an issue. |
Thanks - please add this problem and the insight behind the problem in an issue. I've noticed a tendency to underestimate the difficulty and magnitude of tasks rather than overestimate tasks. The good thing about issues is that they provide a better forum for discussion before code is written. |
This is an implementation detail and I'm not sure if this must be fixed. In any case, Rubi seems to make assumptions on Mathematica's internal representation of
DownValues
ofSetDelayed
rules.Description
In Mathematica,
DownValues
areSetDelayed[lhs, Condition[rhs, cond]]
whereas in Mathics, they areSetDelayed[Condition[lhs, cond], rhs]
as shown below.In Mathematica,
On the other hand, in Mathics:
How to Reproduce
See above.
Output Given
Expected behavior
The following, if compatibility with Mathematica in this is desired:
Your Environment
Mathics 7.0.1dev0
on CPython 3.11.10 | packaged by conda-forge | (main, Oct 16 2024, 01:27:36) [GCC 13.3.0]
using SymPy 1.13.3, mpmath 1.3.0, numpy 2.1.3, cython Not installed
Workarounds
Conversion Mathics$\leftrightarrow$ Mathematica can be performed using these rules:
Priority
Low. Non-blocking.
Additional context
N/A
The text was updated successfully, but these errors were encountered: