erszcz / erlang-rust-nif

An example Erlang NIF implemented in Rust
80 stars 4 forks source link

higher level bindings? #1

Open goertzenator opened 9 years ago

goertzenator commented 9 years ago

Hi, fascinating thing you've done here. Have you given any thought to higher level bindings? For example, decode an Erlang tuple into a Rust tuple with a single function.

Such bindings exist for C++ (https://github.com/goertzenator/nifpp), and it would be very interesting if they also existed for Rust.

Also, have you written any significant NIFs in Rust? Any major issues?

edescourtis commented 9 years ago

Rust seems like a perfect match for Erlang nifs. I would definitely use it if it had higher level bindings.

erszcz commented 9 years ago

Wow, nifpp looks great indeed! I've felt the inconvenience of manual type casting on the C / Rust boundary - there's definitely room for improvement over the bindgen-generated bindings there. Unfortunately, as of now I don't have plans on providing a higher level interface due to lack of time - this repo is just an experiment. I haven't used the approach in any significant project yet.

goertzenator commented 9 years ago

Thank you for your comments. I've only really discovered Rust this week, and monkeying with higher level bindings will be a great way for me to learn the language. Your work here will give me a huge leg-up.

I agree that Rust is a perfect match for Erlang nifs on many levels: