SuiteSparse icon indicating copy to clipboard operation
SuiteSparse copied to clipboard

Add C++20 modules support

Open gruenich opened this issue 10 months ago • 2 comments

Is your feature request related to a problem? Please describe. C++20 modules make it easier to use C and C++ libraries from C++ code.

Describe the solution you'd like We need to add some C++ and CMake code. Main question if a merge request has the chance to be accepted or if it is out of scope for SuiteSparse.

Describe alternatives you've considered Maybe it should only be applied to C++ libraries and not for C libraries

Additional context Some useful links:
https://arewemodulesyet.org/documents/

There is also an initiative with central tracking of hundreds of libraries: https://arewemodulesyet.org

gruenich avatar Feb 17 '25 18:02 gruenich

I would be open to considering it. I would need to wait a bit. I'm working on a few major releases and lots of minor updates, to GraphBLAS (a minor update to 9.4.5 and a major update to 10.0.0), LAGraph, and SPEX. Some of those changes are not yet reflected in the current dev2 branch on this repository, since each of those 3 packages have their own primary repositories.

Would the C++20 modules be added to each individual package? Or would they appear outside of them, say in a top level SuiteSparse/CPPmodules, or something?

DrTimothyAldenDavis avatar Feb 20 '25 19:02 DrTimothyAldenDavis

I don't plan to start working on this now. Thus, I cannot answer your legitimate questions.

There is a bigger initiative to make C++20 modules more popular, https://arewemodulesyet.org . As far as I can see, there is no clear path for C libraries. If you want, I can mark the SuiteSparse entry as "Help wanted" and see where this leads to.

gruenich avatar Feb 21 '25 06:02 gruenich