ocaml-build
is used to generate an OCaml file containing signatures from Rust code
For example, if you have this function (annotated with the #[ocaml::sig(...)]
macro:
#[ocaml::func]
#[ocaml::sig("int -> bool")]
pub fn greater_than_zero(i: ocaml::Int) -> bool {
i > 0
}
And the following build script:
fn main() -> std::io::Result<()> {
ocaml_build::Sigs::new("src/rust.ml").generate()
}
The following code will be generated in src/rust.ml
:
external greater_than_zero: int -> bool = "greater_than_zero"
And a matching mli
file will be created.