Binding OCaml库的绑定和内省
我想编写一个OCaml库,它将被其他编程语言(如C语言甚至python)使用 我甚至不确定它是否可行,我想我需要删除一些类型安全性,并为动态类型语言的接口添加运行时检查 这可行吗?是否有工具可以实现自动生成绑定的目标?我认为像Corba这样的东西不适合OCAMLABI,但我可能错了Binding OCaml库的绑定和内省,binding,ocaml,idl,Binding,Ocaml,Idl,我想编写一个OCaml库,它将被其他编程语言(如C语言甚至python)使用 我甚至不确定它是否可行,我想我需要删除一些类型安全性,并为动态类型语言的接口添加运行时检查 这可行吗?是否有工具可以实现自动生成绑定的目标?我认为像Corba这样的东西不适合OCAMLABI,但我可能错了 编辑:通过删除运行时要求并仅使用具有llvm前端的语言,我想我可以将llvm用作一种常见的ABI,但这似乎很棘手。这是可行的,但您需要了解相关主题,如GC如何工作。 看看这个: 您需要小心存根代码中的类型,否则您可以
编辑:通过删除运行时要求并仅使用具有llvm前端的语言,我想我可以将llvm用作一种常见的ABI,但这似乎很棘手。这是可行的,但您需要了解相关主题,如GC如何工作。 看看这个: 您需要小心存根代码中的类型,否则您可以保持类型安全。OCaml有一个FFI。绑定的代码必须用C编写,而不是用OCaml(它没有C值的直接表示,而C有OCaml值的表示)。我的建议是: