macro_rules! caml {
($name:ident($($param:ident),*) $code:block) => { ... };
($name:ident, |$($param:ident),*|, <$($local:ident),*>, $code:block -> $retval:ident) => { ... };
($name:ident, |$($param:ident),*|, <$($local:ident),*>, $code:block -> $retval:ident) => { ... };
($name:ident, |$($param:ident),*|, <$($local:ident),*>, $code:block) => { ... };
($name:ident, |$($param:ident),*|, $code:block) => { ... };
($name:ident, |$($param:ident),*|, $code:block -> $retval:ident) => { ... };
}
Defines an external Rust function for FFI use by an OCaml program, with automatic CAMLparam
, CAMLlocal
, and CAMLreturn
inserted for you.