Wolfram LibraryLink interface for Rust
Inspired by wll-interface.
Purpose:
// lib.rs
use wll::{ErrorKind, Result};
#[wll::setup]
fn setup() {}
#[wll::teardown]
fn teardown() {}
// export function named `wll_add_two`
#[wll::export]
fn add_two(a: isize, b: isize)->Result<isize> {
a.checked_add(b)
.ok_or_else(|| ErrorKind::NumericalError.into())
}
#[wll::export(factorial)]
fn fac(n: usize) -> Result<usize> {
Ok(if n == 0 { 1 } else { n * fac(n - 1)? })
}