Packages refresh#4408
Conversation
d-torrance
left a comment
There was a problem hiding this comment.
A number of conflicts to fix. (Sorry -- like half of them are me updating my email address!)
|
I should note: All references in the Macaulay2 documentation and on the wiki for package writing still need to be updated to reflect these changes. |
d-torrance
left a comment
There was a problem hiding this comment.
There are a few newer packages in development that haven't gotten the changes, e.g:
../../../../../Macaulay2/m2/option.m2:17:26:(1):[67]: error: encountered an unknown key or option: Date
../../../../../Macaulay2/packages/EuclideanDistanceDegree.m2:1:10:(2):[66]: --back trace--
| CacheExampleOutput => null, | ||
| Certification => null, | ||
| Configuration => {}, | ||
| Date => null, |
There was a problem hiding this comment.
Removing the key Date would cause all existing packages out there to produce an error when loaded. I'm also leaning against this change in general though because I prefer simple key names, but with clear documentation of what they should contain elsewhere.
There was a problem hiding this comment.
The same for Nevermind, you're not removing it so it's not gonna cause errors. I like Keywords, actually.Areas.
There was a problem hiding this comment.
You probably didn't mean to include this.
| InfoDirSection => "Macaulay2 and its packages", | ||
| Keywords => {}, | ||
| Maintainer => null, | ||
| MathematicsSubjectClassification => {}, |
There was a problem hiding this comment.
Instead of adding both MathematicsSubjectClassification and ComputingClassificationSystem, how about adding a unifying SubjectClass key and adding functions like MSC(ZZ,List) and CSS(ZZ,List) or similar? e.g. SubjectClass => {MSC(2020,{"13D02","14M25"}, ACM(...)}.
There was a problem hiding this comment.
This is ok if we're leaving MSC as optional. If we want to make it compulsory (which I think is a good idea - this would be a good thing to be able to search by when we have the package table online) then I wouldn't put them on the same footing. Is there a large group of users who would prefer the ACM classification? (this was mentioned in passing in the summary session, but not discussed).
(This is from the ideas discussed in the Packages group (@seangrate, @dmaclagan, @wilvalin, and @foschreyer) at the M2@GT 2026 workshop)
This pull request comprises two main changes to the package infrastructure:
newPackagehave some additions and changes:Dateis nowLastUpdatedto make its purpose clearer (original release date versus date of version release)Maintaineroption to ensure packages have a designated person in charge of maintenance, especially needed whenever a package's authors are, for instance, no longer in academia.MaintainerandAuthorsnow haveOrcidas an available field which takes in the Orcid as a stringKeywordsoption has changed meaningAreasreplaces the originalKeywordsintention; e.g.,Areas = {"Combinatorics"}Keywordsis now intended for more fine-grained identifiers like "Betti numbers" or "toric varieties" (think arXiv keywords)MathematicsSubjectClassificationfor the AMS Mathematics Subject ClassificationComputingClassificationSystemfor the ACM Computing Classification SystemAbstractoption has been added. This is intended for a future feature for better package browsing.Here is an example using the new options:
All existing packages have had their
newPackageheader changed to comply with these revisions.