| Crates.io | derive-ocaml |
| lib.rs | derive-ocaml |
| version | 0.1.3 |
| created_at | 2018-07-21 09:56:27.399488+00 |
| updated_at | 2021-02-12 13:44:04.28125+00 |
| description | Custom derive and procedural macros for easy FFI with ocaml on top of the ocaml crate |
| homepage | https://github.com/ahrefs/rust-ocaml-derive |
| repository | https://github.com/ahrefs/rust-ocaml-derive |
| max_upload_size | |
| id | 75321 |
| size | 16,814 |
WARNING this crate is very experimental
derive-ocaml is based on top of ocaml-rs and adds a custom derive macro for FromValue and ToValue.
The macro supports structs, enums, and unboxed float records.
On top of that it implements a nightly only procedural macro ocaml-ffi to ease the boilerplate of writing stubs functions.
#[derive(Debug, Default, ToValue, FromValue)]
#[ocaml(floats_array)]
pub struct Vec3 {
x: f32,
y: f32,
z: f32,
}
#[ocaml_ffi]
pub fn rust_add_vecs(l: Vec3, r: Vec3) -> Vec3 {
l + r
}
see src/example/src/lib.rs and src/example/src/stubs.ml for example