elixir-explorer / explorer

Series (one-dimensional) and dataframes (two-dimensional) for fast and elegant data exploration in Elixir
https://hexdocs.pm/explorer
MIT License
1.12k stars 123 forks source link

Implement message-on-gc NIFs in Rust #936

Closed filmor closed 4 months ago

filmor commented 4 months ago
filmor commented 4 months ago

@josevalim The issue is actually the missing env parameter on the destructor. If it's okay with everyone here, I'd keep this PR open until this is fixed upstream in Rustler.

josevalim commented 4 months ago

No issues with keeping it open!

filmor commented 4 months ago

This not only implements the function in pure Rust (thus making explorer pure Rust again), it also makes use of other niceties to trim down lib.rs quite massively. If you would like to limit the impact of this PR to the destructor addition, let me know.

cocoa-xu commented 4 months ago

This not only implements the function in pure Rust (thus making explorer pure Rust again), it also makes use of other niceties to trim down lib.rs quite massively. If you would like to limit the impact of this PR to the destructor addition, let me know.

Sorry this is off-topic but it looks really coool that we can just do rustler::init!("Elixir.Explorer.PolarsBackend.Native"); in rustler v0.34!

josevalim commented 4 months ago

:green_heart: :blue_heart: :purple_heart: :yellow_heart: :heart: