Avatar
Hi everyone, To complement the number of new issues on the github repo, I'd like to share with you some design goals and ideas that shape the java interop work we've embarked on here that should help wrap your head around how it all fits together. First and foremost, the swift-java project consists of two general "approaches" to the problem. W...
12:42 PM
コンラッドさんがswift-javaについて踏み込んだ議論をしている
12:44 PM
JavaからSwiftを呼ぶユースケースとして、今でもJavaのサーバーが暗号処理などで高速なネイティブ実装を呼び出しているような部分で、これをSwift実装を呼ぶなどが想定されるらしい
12:46 PM
そのツールはswiftinterfaceからJavaインターフェイスのグルーを生成するらしいのだけど、そこでABIをアタッチするために、Swiftに言語インタロップモードを追加してはどうかとのこと
12:47 PM
swiftinterfaceにマングル名を載せる、タイプのメモリレイアウトを載せる、それに加えて、標準的なC Calling Conventionなサンクを生成させるとのこと
12:48 PM
個人的にはSwiftは呼び出し規約を高速な設計していて型情報もフルに使うので外部から呼ぶには難しいなと思っていたのでこれはよくわかる
12:50 PM
既存のexpose(c)とも若干コンセプト被ってそうで整理が必要そうだけど、この話はSwift側のソース編集をゼロでそのまま呼べたいらしい
12:51 PM
この話めちゃめちゃ興味あるけど連携させたいJava資産がないので触りどころが無さそうなのだけが残念