Cache output of flattenRing
Open
Core
- Dominant language
- Macaulay2
- Stars
- 435
- Forks
- 297
- Avg merge
- 4d 20h
- Merged PRs (30d)
- 11
Description
```m2
i1 : A = kk[a]; B = A[b];
i3 : X = first flattenRing B;
i4 : Y = flattenRing(B, Result => 1);
i5 : X === Y
o5 = false
```
From documentation:
> Multiple calls to flattenRing may result in defining multiple rings that are regarded as different objects by Macaulay2.
This seems to be easily avoidable.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the Macaulay2 transcript in the issue and locate the flattenRing entry point. Trace the repeated calls and their Result => 1 behavior, then verify that equivalent calls reuse the same ring object so the final X === Y check succeeds.
Written by the indexing model from the issue text.
Assessment
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100