[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: Abominations of nature (was: Features you would like to see)
- From: roberto@... (Roberto Ierusalimschy)
- Date: Wed, 22 Aug 2007 13:51:06 -0300
> 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).