lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Some time ago I posted about Eris [1], a persistence lib for Lua 5.2.
It's a rewrite of Pluto [2] (which handles Lua 5.1).

This is just quick update to let you know that there's a branch of Eris
that also supports Lua 5.3, now. You can also download it as a release
from Github [3]. It's been in use for a while now, without reported
issues, which is why I'm confident enough to post about it ;)

If you haven't heard of Pluto and/or Eris before: they're libraries that
can persist parts of a Lua state. There are many like them, but these
ones can also persist suspended coroutines. So it's possible to pause a
script and resume execution in another program run (e.g. save games), or
even on a different machine (e.g. load-balancing).

Eris is sort of a Lua "distribution"; it contains a minimally modified
version Lua, because there are a few parts it has to dig into that would
otherwise not be accessible - for example to access the internal yield
callbacks for pcalls to allow persisting those. For this reason it also
only works with the standard PUC-Rio version of Lua. Other variants such
as LuaJIT are not supported, I'm afraid.

For more information, please have a look at the readme, it should cover
all you need to know to use Eris. If you run into any issues, please
report them on Github. Contributions welcome.