Rust Erl Ext

Erlang external term format parser/serializer for Rust.

Build Status

Examples

Decoding

```rust extern crate erlext; use erlext::Decoder;

fn main() { let mut decoder = Decoder::new(&mut io::stdin()); assert!(true == decoder.readprelude().unwrap()); println!("{}", decoder.decodeterm().unwrap()); } ```

Encoding

```rust extern crate erlext; use erlext::{Eterm, Encoder};

fn main() { let term = Eterm::List(vec!(Eterm::SmallInteger(1), Eterm::Integer(1000000), Eterm::Nil)); // this combination of options make it compatible with erlang:termtobinary/1 let utf8atoms = false; let smallatoms = false; let fairnewfun = true; let mut encoder = Encoder::new(&mut io::stdout(), utf8atoms, smallatoms, fairnewfun); encoder.writeprelude(); encoder.encodeterm(term); } ```

More examples are in examples directory.

Types (all Erlang 17.1 types are supported):

TODO

Keywords