A Zig library to idiomatically communicate with other BEAM nodes
Zig
52
163 commits
updated Jun 22, 2026
* Zerl: Making Erlang + Zig communication EZ #+html: <a href="https://builtwithnix.org"><img alt="built with nix" src="https://builtwithnix.org/badge.svg" /></a><br> #+html: <a href="https://github.com/dont-rely-on-nulls/zerl/actions/workflows/build_zerl.yml"> <img alt="[Build] Client" src="https://github.com/dont-rely-on-nulls/zerl/actions/workflows/build_zerl.yml/badge.svg" /></a> #+html: <p align="center"><img src="images/logo.png" alt="The Zerl Logo" style="width: 25%;"></p> /WORK IN PROGRESS/ This is a library for communicating with the BEAM from Zig. It is a wrapper around ~erl_interface~, which is provided with Erlang, and currently targets Zig version ~0.14.0~. Note that ~erl_interface~ is not currently packaged for Zig, so users of Zerl will need to provide the dependency themselves. Please refer to [[doc/types.org][this document]] for how types are translated between Zig and Erlang. ** Roadmap *** 0.1 [1/1] - [X] Add unit tests for the decoder and encoder. *** 0.2 [1/1] - [X] Update to Zig 0.14.0. *** 0.3 [1/1] - [X] Allow parsing tagged tuples with multiple items from Erlang into Zig tagged unions. *** Before 1.0 [0/3] - [ ] Expose the timeout version of the networking functions from ~erl_interface~. - [ ] Remove all hidden allocations from the library. - [ ] Either package ~erl_interface~ and add it to ~build.zig.zon~, or drop the dependency entirely. ** Examples See the [[./examples]] directory for some code examples. If you are looking for a non-trivial example, check [[https://github.com/Dr-Nekoma/lyceum][Lyceum]], it's a game built around this library. ** Developing
Not written in Markdown, so it's shown here as plain text — view it formatted on GitHub.
Zig
87.1%
Nix
12.9%
A Zig library to idiomatically communicate with other BEAM nodes
Zig
52
163 commits
updated Jun 22, 2026
* Zerl: Making Erlang + Zig communication EZ #+html: <a href="https://builtwithnix.org"><img alt="built with nix" src="https://builtwithnix.org/badge.svg" /></a><br> #+html: <a href="https://github.com/dont-rely-on-nulls/zerl/actions/workflows/build_zerl.yml"> <img alt="[Build] Client" src="https://github.com/dont-rely-on-nulls/zerl/actions/workflows/build_zerl.yml/badge.svg" /></a> #+html: <p align="center"><img src="images/logo.png" alt="The Zerl Logo" style="width: 25%;"></p> /WORK IN PROGRESS/ This is a library for communicating with the BEAM from Zig. It is a wrapper around ~erl_interface~, which is provided with Erlang, and currently targets Zig version ~0.14.0~. Note that ~erl_interface~ is not currently packaged for Zig, so users of Zerl will need to provide the dependency themselves. Please refer to [[doc/types.org][this document]] for how types are translated between Zig and Erlang. ** Roadmap *** 0.1 [1/1] - [X] Add unit tests for the decoder and encoder. *** 0.2 [1/1] - [X] Update to Zig 0.14.0. *** 0.3 [1/1] - [X] Allow parsing tagged tuples with multiple items from Erlang into Zig tagged unions. *** Before 1.0 [0/3] - [ ] Expose the timeout version of the networking functions from ~erl_interface~. - [ ] Remove all hidden allocations from the library. - [ ] Either package ~erl_interface~ and add it to ~build.zig.zon~, or drop the dependency entirely. ** Examples See the [[./examples]] directory for some code examples. If you are looking for a non-trivial example, check [[https://github.com/Dr-Nekoma/lyceum][Lyceum]], it's a game built around this library. ** Developing
Not written in Markdown, so it's shown here as plain text — view it formatted on GitHub.
Zig
87.1%
Nix
12.9%