lua-users home
lua-l archive

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


On 28.07.2016 13:37, Dirk Laurie wrote:
2016-07-28 12:47 GMT+02:00 Thomas Jericke <tjericke@indel.ch>:
On 28.07.2016 11:50, Dirk Laurie wrote:
2016-07-28 10:54 GMT+02:00 Thomas Jericke <tjericke@indel.ch>:



so a solution would be to just grantee the most obvious behavior.
Not an option.

Someday we may see ParaLua, an implementation of Lua that can
exploit a parallel computer or a cluster. In that case such a guarantee
would force a bottleneck.

You already have that bottleneck, as you already can call functions with
side effects in the table constructors.
While it isn't guaranteed that these functions are called in order, it is
guaranteed that they are called uninterrupted.
It requires some reading between the lines to come to that conclusion
(but the manual often seems to have that property :-)

I can't quite manage it yet; could you elaborate on that?

From the top of my head this is the most explicit statement. 

"Lua supports coroutines, also called collaborative multithreading. A coroutine in Lua represents an independent thread of execution. Unlike threads in multithread systems, however, a coroutine only suspends its execution by explicitly calling a yield function."

As you see in my example (that you cut from the quote), there is no yield in it. So the programmer rightfully can expect that the function is run uninterrupted.
--
Thomas