vermaseren / form

The FORM project for symbolic manipulation of very big expressions
GNU General Public License v3.0
982 stars 118 forks source link

[Meta-issue] Fix the FORM5 regressions #475

Open tueda opened 4 months ago

tueda commented 4 months ago

Update: 2024-03-15

This is the meta issue to track regressions introduced in 5.0.0-beta. To be updated occasionally.

Known regressions

Tests disabled in CI

Currently, the test cases Diagrams_1 to Diagrams_4 are temporarily disabled to allow the CI process to pass.

To run the disabled tests, use the -f option of check.rb:

./check/check.rb build/sources/form -s -f 'Diagrams_*'

Merged PRs that are likely to have no side effects or negligible performance regressions

We think these changes are OK, but if you encounter any noticeable regressions on the master branch when comparing it to version 4.3.1, please let us know.

tueda commented 3 months ago

I will start merging postponed PRs that are complete and likely to have no or negligible side effects such as #477, #482 and #490. They will be listed in this issue as those that could potentially introduce some regressions (albeit unlikely). In this way, test users can easily access versions incorporating the latest PR merges, with awareness of potential regressions.

jodavies commented 2 months ago

Before FORM 5, I would like to resolve at least the following. For some of these I know roughly what the problem is, but would benefit from a discussion with Jos to check that I really understand things. The workshop in May would be a good place to do this I expect.

230 :white_check_mark:

292 :white_check_mark:

420 and #484 :question:

468 :white_check_mark:

Maybe we should also start to work through the open issues and close + tag as "question" or "wontfix" where appropriate, to clean up the issue tracker a bit.

tueda commented 2 months ago

Do we need another 5.0 beta version (and a 4.3 version with backported bug fixes) before the workshop? This could serve as a good starting point for discussions at the workshop.

If the workshop successfully resolves the issues you mentioned, we could then proceed with another (beta) release afterwards.

Related to the tags: The question and good first issue tags are abused in ways that differ from the GitHub defaults: the former had been used for "questions by users" (though I haven't put question tag recently because of this difference) and an example of the latter is https://github.com/vermaseren/form/issues/300. We might consider creating new tags with more specific meanings. At least, adding a documentation tag (as the default meaning) would be good.

jodavies commented 2 months ago

I am not sure a specific beta "release" is necessary for the workshop. The current master branch is in reasonable shape to work from (diagram generator issues aside), and the results of the workshop can inform what a final beta of FORM 5 should look like before a testing period and final release.

We should also look through the issues labelled as "enhancement" and think about what would be good to include in FORM 5. (Personally I would like to look at #436 at least).

Since "question" has been used previously to tag questions about the use of FORM, my opinion would be to just keep that convention now.

jodavies commented 3 weeks ago

Here is a bit of a summary of some discussions at the workshop.

Diagrams/topologies:

32bit builds:

Parform:

A few easy-seeming ideas which have been/could be implemented for FORM5:

Harder-seeming changes, for the future:

Please comment, if I have forgotten anything.

tueda commented 3 weeks ago

Thanks for summarising the discussions!

How about Windows? Is there no need to run FORM on any platform other than Linux/macOS x86_64?

jodavies commented 3 weeks ago

Ah, indeed we discussed this also: people think that it is nice, particularly for students, if form run on windows. At the very least, we should make sure that it works OK under WSL.

As for proper windows support, this basically comes down to how close you think you are with your branch. Personally, I have no development experience at all under windows.

tueda commented 3 weeks ago

Actually, the Windows version doesn't use any Windows APIs (except for timers, I think). It simply maps all FORM IO routines to the corresponding C standard library functions:

https://github.com/vermaseren/form/blob/83e3d4185efca2e5938c665a6df9d67d6d9492ca/sources/form3.h#L517-L533

You don't need to know Windows (unless you want to implement missing functionalities based on special POSIX routines).