julia

Crates.iojulia
lib.rsjulia
version0.2.5
sourcesrc
created_at2017-11-13 20:09:22.582654
updated_at2017-11-16 19:51:58.805756
descriptionIdiomatic and safe Julia bindings for Rust
homepagehttps://github.com/pi-pi3/julia-rs
repositoryhttps://github.com/pi-pi3/julia-rs
max_upload_size
id39251
size119,304
Szymon Walter (pi-pi3)

documentation

https://docs.rs/julia

README

julia-rs

crates.io Docs

Safe and idiomatic Julia bindings for Rust

[dependencies]
julia = "0.2"
...

CONTRIBUTING.md

REPL

As an example application, an interactive Julia REPL written in 100% safe Rust is included. See its source at src/main.rs, build with cargo build and run with cargo run. See julia-rs -h or cargo run -- -h for help.

Example

See examples for more examples.

fn main() {
    use julia::api::{Julia, Value};

    let mut jl = Julia::new().unwrap();
    jl.eval_string("println(\"Hello, Julia!\")").unwrap();
    // Hello, Julia!

    let sqrt = jl.base().function("sqrt").unwrap();

    let boxed_x = Value::from(1337.0);
    let boxed_sqrt_x = sqrt.call1(&boxed_x).unwrap();

    let sqrt_x = f64::try_from(boxed_sqrt_x).unwrap();
    println!("{}", sqrt_x);
    // 36.565010597564445
}

TODO

pre 0.3

  • Safe wrappers for all remaining important functions.
    See ROADMAP.md for details.

pre 0.4

  • Fix any and all memory leaks and overflows at the ffi boundary.

pre 0.5

  • Standardize.
  • Test.
  • Add more thorough examples.

pre 0.6

  • Standardize documentation.
  • Document everything thouroughly.

License

julia-rs is licensed under the zlib/libpng license. See LICENSE or zlib.net/zlib_license.html for details.

Commit count: 109

cargo fmt