lua-users home
lua-l archive

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


> Short summary of his findings:
> - Upvalues sometimes get in your way, cloning them is tricky.
> - There's usually more mutable state in a Lua program than just
>   the stack slots. The stack copy is shallow, referenced tables
>   or userdatas are not cloned. And it's really hard to specify
>   which objects need to be copied and how deep the copy should be.
> - Files and databases are tricky. Either you need to add
>   versioning, some homegrown undo scheme or (un)limited rollback.
>   There's no magic bullet.
> - 'Time' is another input which is hard to roll back. :-)
> 
> My summary: nice idea and good for some textbook examples. Not
> good enough for web apps of any realistic size.
> 
> Maybe it works out better with a side-effect free language. [...]

And most of these problems are specific neither to web servers nor to
Lua. They seem to reflect an inherent conflict between side effects and
multiple-shot continuations (probably because a repeated shot "plays
back" only part of the story, the part captured by the continuation).

-- Roberto