Show HN: Hsrs – Type-Safe Haskell Bindings Generator for Rust
github.com35 points by suis_siva 7 hours ago
35 points by suis_siva 7 hours ago
Hey everyone! I've been working on hsrs, a type-safe Haskell Bindings Generator for Rust.
I couldn't really find any bindings generator that would create type-safe, rich bindings for Haskell from Rust. Naturally, both languages have rich type systems, so I was amazed that no awesome bindings generator already existed, hence I decided to write my own. hsrs feels very similar to pyo3 and napi-rs, and if you've used those, hsrs will feel right at home.
What's unique about hsrs as opposed to hs-bindgen is that it has type-safe bindings for rich types, like Result, Maybe, etc. while also generating Haskell bindings. The repo contains a minimal example, and more details are available in the haskell discourse: https://discourse.haskell.org/t/ann-hsrs-ergonomic-haskell-b...
It would be so nice if these "well typed languages" would be able to interact better with each other. Alas, the GC will probably cause some friction, e.g. the ocaml-rs package makes this pretty visible: https://github.com/zshipko/ocaml-rs/blob/master/examples/rus... . (I have not used either of these projects.) Maybe the GC would be less of a problem if we didn't want to have the best possible performance as well. Really cool nice job! With more and more ecosystem libraries being written in Rust (and a Python wrapper) could this be a way to expand the Haskell ecosystem?
_flux - 2 hours ago
rienbdj - 3 hours ago