Skip to content

Add placeholder package extensions for JuliaInterface/OscarInterface - #1221

Merged
james-d-mitchell merged 2 commits into
semigroups:mainfrom
sullivan-james:1220-add-julia-support
Sep 21, 2026
Merged

james-d-mitchell merged 2 commits into
semigroups:mainfrom
sullivan-james:1220-add-julia-support

Conversation

@sullivan-james

Copy link
Copy Markdown
Collaborator

Step 1 towards #1220: register GAP package extensions in PackageInfo.g that load gap/julia.g / gap/oscar.g whenever JuliaInterface or OscarInterface happen to be available. Both files currently don't do anything. These files just add the structure for future work using Semigroups.jl to call libsemigroups via Julia.

This design and chosen version numbers in PackageInfo.g were inspired by the alnuth OscarInterface extension and the PackageManager JuliaInterface extension.

Step 1 towards semigroups#1220: register GAP package extensions in PackageInfo.g
that load gap/julia.g / gap/oscar.g whenever JuliaInterface or
OscarInterface happen to be available. Both files currently don't
do anything. These files just add the structure for future work
using Semigroups.jl to call libsemigroups via Julia.

This design and chosen version numbers in PackageInfo.g were inspired
by the alnuth OscarInterface extension and the PackageManager
JuliaInterface extension.
Copilot AI lite review requested due to automatic review settings September 19, 2026 17:18

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

Changes are low-risk scaffolding only, with minor style nits noted in review comments.

Review effort: Lite
Findings: 2 Low severity

Open (2)
What changed in this PR

Adds GAP package extension stubs to Semigroups so that, when JuliaInterface or OscarInterface are available, Semigroups will also load corresponding (currently empty) extension files. This establishes the structure needed for the incremental Julia-based integration discussed in #1220.

Changes:

  • Register two GAP package extensions in PackageInfo.g for JuliaInterface and OscarInterface.
  • Add placeholder extension entrypoints gap/julia.g and gap/oscar.g that currently only set a flag in SEMIGROUPS.
File Description
PackageInfo.g Declares conditional extension loading for JuliaInterface/OscarInterface.
gap/​julia.g Adds placeholder extension file for future JuliaInterface integration.
gap/​oscar.g Adds placeholder extension file for future OscarInterface integration.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread PackageInfo.g Outdated
Comment thread gap/oscar.g Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@james-d-mitchell

Copy link
Copy Markdown
Collaborator

Thanks @sullivan-james, as we sure that the OscarInterface and JuliaInterface packages really exist?

@sullivan-james

Copy link
Copy Markdown
Collaborator Author

Yes - these interfaces do exist in the core Oscar.jl and GAP.jl packages. Alnuth has OscarInterface implemented and PackageManager has JuliaInterface. I chose to add both. Realistically if long term goal is just to acccess libsemigroups through Julia you don't need OscarInterface (unless planning to access core Oscar methods) if I have understood correct.

See links below:

https://github.com/oscar-system/Oscar.jl/tree/master/gap/pkg/OscarInterface

https://github.com/oscar-system/GAP.jl/tree/master/pkg/JuliaInterface

@sullivan-james

Copy link
Copy Markdown
Collaborator Author

@james-d-mitchell failing test seems unrelated to this PR, perhaps rerun? I don't have perms to do this.

@james-d-mitchell

Copy link
Copy Markdown
Collaborator

@james-d-mitchell failing test seems unrelated to this PR, perhaps rerun? I don't have perms to do this.

Yup it's unrelated, I'll try to review your PR just now.

@james-d-mitchell
james-d-mitchell merged commit 68fc32e into semigroups:main Sep 21, 2026
53 of 54 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants