C、C++、および Objective-C では、実行可能ファイルの一部を独自の「オブジェクト ファイル」にコンパイルし、「ヘッダー ファイル」を含めることで他のコードからそれ (および/または複数のオブジェクト ファイルを含むライブラリ) を使用できます。高度にテンプレート化された C++ コードにもかかわらず、「ヘッダー」には通常、呼び出しコードの正確性を検証するために必要な宣言のみが含まれます (また、IDE をオートコンプリートなどで支援します)。
しかし、Swift にはヘッダー ファイルがありません。
現在、明らかに Swift の静的ライブラリを作成することは現在不可能ですが、将来、Swift にヘッダーがないことを考えると、「新しい」ソース コードから既存のプリコンパイル済みコードを使用したいという上記のような状況はどのように機能するのでしょうか?
コンパイラが適切に使用されていることを確認するために、コンパイルされたフォームを十分に内省できる [私が推測する] Java がどのように機能する必要があるかのように機能しますか? 中間表現に加えてビットコードは、そのようなメタデータを保持するために必要な「プロトコル」も提供しますか?
Apple が Cocoa を Swift に移植する (そしてクローズド ソースのままにする) 場合、Swift アプリにどのように「インポート」するのでしょうか?
実際には、この質問は「クローズドソース」自体とは何の関係もありませんが、Swiftのコンパイル単位の境界を理解しようとしています。Go 言語に関する同様の質問に基づいて、ここでの私の質問は次のように言い換えることができます: ソースなしでコンパイル済みの Swift ライブラリにリンクできますか?