Skip to content
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

Make sure that code in src/ does not use code in experimental/ #3408

Open
2 of 10 tasks
lgoettgens opened this issue Feb 21, 2024 · 0 comments
Open
2 of 10 tasks

Make sure that code in src/ does not use code in experimental/ #3408

lgoettgens opened this issue Feb 21, 2024 · 0 comments
Labels
experimental Only changes experimental parts of the code testsuite Everything concerning testsuite

Comments

@lgoettgens
Copy link
Member

lgoettgens commented Feb 21, 2024

This is stated in a big red box in https://docs.oscar-system.org/dev/Experimental/intro/#Purpose but not enforced.

For stability guarantees of Oscar 1.x related to the experimental folder (see #2011), we should try to enforce the above rule, or at least create a list of issues and decide to not deal with them for now.

Potential roadmap:

  • Make experimental packages more self-contained #3409: Adapt loading of experimental packages to be more self-contained. This makes it then possible to delete a module in experimental without the need to adapt anything outside of that.
  • Add CI job that runs tests without the experimental folder #3525: Add a CI job that deletes everything in the experimental folder (but a whitelist) and tries to run the Oscar tests. In the beginning, we would put most of the current experimental folders into the whitelist. A similar job should check if the documentation can still be build without experimental projects (aka experimental's docstrings are not contained in non-experimental doc pages).
  • Long-term: Try to remove things from the whitelist. Adapt them or the calling code to keep everything working. Eventually, the whitelist should be empty.
    • DoubleAndHyperComplexes: MethodError: no method matching simplify(::SubquoModule{MPolyQuoRingElem{MPolyDecRingElem{FqMPolyRingElem, AbstractAlgebra.Generic.MPoly{FqMPolyRingElem}}}})
    • ExteriorAlgebra undefined binding 'exterior_algebra' in `@docs` block in src/NoncommutativeAlgebra/PBWAlgebras/quotients.md:40-42 and Error During Test at /home/runner/work/Oscar.jl/Oscar.jl/test/Rings/PBWAlgebraQuo.jl:41
    • GaloisGrp: no docs found for 'fixed_field(C::Oscar.GaloisGrp.GaloisCtx, s::Vector{PermGroup})' in `@docs` block in src/NumberTheory/galois.md:275-278
    • GModule: many doctest failures and MethodError: no method matching numerator(::QQPolyRingElem)
    • InvariantTheory: undefined binding 'linearly_reductive_group' in `@docs` block in src/InvariantTheory/reductive_groups.md:53-55` and more docs errors
    • ModStd: MethodError: no method matching monomial(::QQMPolyRing, ::Vector{Int64}) and many similar errors
    • Schemes

@thofma and @joschmitt liked the idea.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
experimental Only changes experimental parts of the code testsuite Everything concerning testsuite
Projects
None yet
Development

No branches or pull requests

1 participant