Files
carbon-lang/docs/design/interoperability/README.md
T
Jon Meow b2f005c1bb Publish interop goals (#202)
This takes #175 and publishes it as interop goals. I've made a few small editorial changes, but the main addition is the "Offer equivalent support for languages other than C++" non-goal which I thought may be useful (in particular, it can be used to clarify why this directory is "interoperability" and not "interoperability_cpp").
2020-12-03 13:50:04 -08:00

33 lines
915 B
Markdown

# Bidirectional interoperability with C/C++
<!--
Part of the Carbon Language project, under the Apache License v2.0 with LLVM
Exceptions. See /LICENSE for license information.
SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-->
<!-- toc -->
## Table of contents
- [Philsophy and goals](#philsophy-and-goals)
- [Overview](#overview)
<!-- tocstop -->
## Philsophy 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](philosophy_and_goals.md) provide
more detail.
## Overview
TODO