我怎样才能写一个可用于多种语言的图书馆?

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

  • CLR语言(C#,F#..)
  • JVM语言(Java,Kotlin,Scala ..)
  • 母语(C / C ++,Rust,Objective-C,Swift ..)
  • 的JavaScript /打字稿

我所知道的基本方法是用C / C ++编写它,并为每种语言维护我自己的绑定,或为每种语言维护单独的库副本(如Reactive extensions does)。 无论哪种方式,这是O(n) n语言的工作。

是否有一种语言或工具可用于使用一种语言编写库,并为其他语言自动生成绑定?