ruster 0.0.1

Create Erlang NIF modules in Rust using a high level Rustic API.
docs.rs failed to build ruster-0.0.1
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.

Ruster

A library for creating Erlang NIFs in Rust

Status

Not yet working.

I'm very close to compiling a valid immutable static ErlNifEntry, but am currently blocked by an internal compiler error. After that is fixed, some tidy-up, macrofication, and documentation should yield a useable Rust binding.

General Design Notes

A quick note to explain what is going on here:

  • An Erlang script generates NIF API function signatures for Rust. This roughly replicates the metaprogramming that goes on in erl_nif.h
  • NIF structs and datatypes are handwritten in Rust (well, actually pilfered and cleaned up from automatic bindings provided by RadosÅ‚aw Szymczyszyn.)
  • There will be a different Ruster branch for each supported version of Erlang. Just like erl_nif.h.
  • I've left the door open for Windows support, although this will not be the initial focus.
  • Since Rust has a very nice threading API, I've completely skipping the NIF threading API. It could be added later if needed.
  • I would like to have a low level (unsafe) API that directly maps to the C NIF API, and a higher level API that follows Rust idioms. I intend the higher level API to be zero cost or nearly zero cost.