Well, I switched to Lua because Snabb apps are built in Lua, and because the Snabb toolkit will ideally provide a lot of functionality for the runtime that I won't have to build myself. And Snabb is really quite impressive in itself.
That said, Elixir is an awesome language, and lovely to write lexer/parsers in. I took me only a few hours to build a functioning parser in Elixir, compared to several days to build one in Lua.
The p4 parser/lexer in Lua is here: https://github.com/esbullington/snabbp4
Next step would be to generate the parse graph.