如何编写可用于多种语言的库?

Jes*_*sse 5 c# java language-binding cross-platform transpiler

我正在尝试编写一个可以从多种编程语言使用的库,例如:

  • CLR 语言(C#、F#..)
  • JVM 语言(Java、Kotlin、Scala..)
  • 原生语言(C/C++、Rust、Objective-C、Swift..)
  • JavaScript/TypeScript

我知道实现此目的的基本方法是用 C/C++ 编写它并为每种语言维护我自己的绑定,或者为每种语言维护库的单独副本(就像反应式扩展所做的那样)。不管怎样,对于n 种语言来说,这都是O(n)的工作。

是否有一种语言或工具可以用来以一种语言编写库并自动生成其他语言的绑定?