[design] Queries about how the program is being compiled

Hi Chapel Developers —

As part of our effort to stabilize Chapel's standard libraries for a forthcoming 2.0 release, we are looking to reduce the degree to which programs rely on the CHPL_* param variables, replacing them with user-facing calls instead. Two of the most prominent queries currently are:

  • Is this program being compiled for a single locale or for multiple locales? (by checking CHPL_COMM)
  • Will this program have access to network atomics? (by checking CHPL_NETWORK_ATOMICS or CHPL_COMM)

If you have ideas about how to expose these queries (or other similar ones) to users, please head over to https://github.com/chapel-lang/chapel/issues/19188 with your suggestions.

Thanks!
-Brad