Skip to content

Refactoring from Atlanta conference#4346

Draft
MichaelABurr wants to merge 53 commits into
Macaulay2:developmentfrom
MichaelABurr:AtlantaGroups
Draft

Refactoring from Atlanta conference#4346
MichaelABurr wants to merge 53 commits into
Macaulay2:developmentfrom
MichaelABurr:AtlantaGroups

Conversation

@MichaelABurr
Copy link
Copy Markdown
Member

These are the changes from the Macaulay2 conference C/C++ refactoring group. This focuses on documentation, unit tests, and changes to the interface directory.

mikestillman and others added 30 commits February 22, 2026 20:36
RingElem wraps (Ring*, ring_elem) with stack allocation and value-returning
operators, replacing verbose RingElement pointer code in tests. Includes
fromString via BasicPolyListParser. Also adds Monoid::variableNames().

I am using claude code opus 4.6 to help do this, in part to learn how to use claude effectively.
…g camel case instead of snake case for method names
First commit of a file that Mike gave us
Changed comments in NAG to use doxygen style
Turned IM2 names to raw
@MichaelABurr MichaelABurr marked this pull request as draft May 21, 2026 19:31
@d-torrance d-torrance added the Engine Macaulay2/e label May 22, 2026
F->append(deg);
}
return F;
return R->make_FreeModule(degs->len, degs->array);
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I really like these simplifications in the interface directory, by the way!

Comment thread CLAUDE.md
Comment on lines +218 to +219
Build configurations are defined in `M2/BUILD/mike/Makefile`. Existing builds live
under `M2/BUILD/mike/builds.tmp/`.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think either this CLAUDE.md file should be in M2/BUILD/mike or if it's in the repository root it should be usable to others.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Looking at the blame, this seems to be from @mikestillman from 3 months ago. Mike, can you comment on these lines?

Comment thread CLAUDE.md
- **FFLAS_FFPACK** (2.4.3+) - Finite field linear algebra routines (needs LAPACK, GIVARO)
- **GIVARO** (4.1.1+) - Prime field and algebraic computations

### Libraries (found via find_package / FindXxx.cmake)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I'm not sure what's the source of this list, but it seems very incomplete (e.g. tbb and boost are missing). Perhaps we could just write that the list of dependencies should be read from cmake/check-libraries.cmake?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I agree that it would be best for this to be a complete list or to not have the list at all. I believe that this also comes from @mikestillman .

Copy link
Copy Markdown
Member

@mahrud mahrud left a comment

Choose a reason for hiding this comment

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

I did a brief review. Pretty much everything looks good.

  1. I tried rebasing to see if getting rid of the merge commits to linearize the history would be easy, sadly didn't seem so.
  2. I think CLAUDE.md should either be elsewhere or be applicable generally. Currently Mike's build process is hardcoded into it.
  3. I suspect the error failing indicates a behavior change or revealed bug, but I couldn't find it. Here's the message:
 -- error log:  /home/runner/work/M2/M2/M2/BUILD/build/usr-dist/common/share/doc/Macaulay2/ToricVectorBundles/example-output/_is__Vector__Bundle.errors:0:1:(3):[14]:
stdio:6:14:(3):[1]: error: first error occurred while lifting matrix entry at row 1, column 0

@mahrud
Copy link
Copy Markdown
Member

mahrud commented May 22, 2026

Also, could you edit the top message to elaborate on AI use in this PR?

@MichaelABurr
Copy link
Copy Markdown
Member Author

@mahrud I agree that this ToricVectorBundles error may be new behavior. I'll start a bisect to try to find it.

@MichaelABurr
Copy link
Copy Markdown
Member Author

@mikestillman @andrew-tawfeek Could you add an AI statement to the pull request recording to what extent AI was used?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Engine Macaulay2/e

Projects

None yet

Development

Successfully merging this pull request may close these issues.