Hi Jeff,

could you made a blog post about how the MPI standard specifies constants, or, e.g., the actual type of "magic" like MPI_DATATYPE?

I'm in particular interested in what does the standard guarantees, and what problems this introduces for e.g. those trying to write wrappers to the MPI C interface for other languages like Rust, Python, Julia,... For example, one typically needs a wrapper for each implementation, which complicates things in typed languages like Rust or Haskell.

Does the committee see this as a problem? Is there a plan to make it easier to use current MPI implementations from other languages? (E.g. having a single ABI at least per platform).

I would love to hear your thoughts about this.

Best regards