mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-09-24 22:02:23 +01:00
Remove a confusing mention of a specific version of C++ (C++17) from the interoperability goals. Expand the content of the goals to make it clear that we have a moving and ongoing target of C++ as it continues to evolve. Also emphasize that we will prioritize among the different features during Carbon's development based on how they impact the overall project. However, this intends to preserve the fact that there may exist long-tail or corner-case features in C++ that never end up with high quality or exhaustive support in our interop story simply because their impact on Carbon users is sufficiently small that it doesn't justify the cost. Fixes #1587
Bidirectional interoperability with C and C++
Table of contents
Philosophy and goals
The C++ interoperability layer of Carbon allows a subset of C++ APIs to be accessed from Carbon code, and similarly a subset of Carbon APIs to be accessed from C++ code. This requires expressing one language as a subset of the other. Bridge code may be needed to map some APIs into the relevant subset, but the constraints on expressivity should be loose enough to keep the amount of such bridge code sustainable.
The interoperability philosophy and goals provide more detail.
Overview
TODO