BEAM NIFs in Ziglang for Elixir AND Erlang
summary
Zig-based NIF framework Zigler generates a JSON manifest at compile time, auto-builds shims, and exposes NIFs to Elixir and Erlang (via Erlang parse transforms). It marshals enums, lists, arrays-as-binaries, and integers bigger than 64 bits, and manages BEAM-bound resources with deterministic destructors triggered on process.exit. It wraps C libraries (demoed with cblas daxpy), supports synchronous/dirty/threaded/ yielding modes for scheduling, and is shipping a 0.10 release with threaded and leak-detection tooling.
AI-written summary · about
chapters (18)
- 0:00Intro
- 0:45How did I get to this point
- 1:27The problem
- 2:27The pitfalls
- 3:37The design space
- 4:49Why Ziglang
- 5:41Ziglang
- 7:41Ziglang for Elixir
- 9:47Type marshalling
- 10:02Ziglang in Elixir
- 19:02BEAM Resource
- 21:51How it Works
- 22:45How it happened
- 23:31How it works in Erlang
- 25:48Background
- 26:31Easy C
- 27:57Demo
- 29:06Conclusion
related talks
41mGleam: Lean BEAM typing machine
32mElixir for the rubyist
48mGetting to Know the Erlang Virtual Machine, the BEAM
38mDemos and Lightning Talks
26mseL4 and BEAM: A match made in Erlang
12mLightning Talk: Expected Application of BeamAsm
44mLFE - a lisp flavour on the Erlang VM
39mFireside chat on JIT compiler
