<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/lua-github.git, branch scopedvars</title>
<subtitle>github.com: lua/lua.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/'/>
<entry>
<title>Complete implementation of to-be-closed variables</title>
<updated>2018-10-22T17:55:51+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2018-10-22T17:55:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=c90176f96924ee7d207501b32f216925773d3bdb'/>
<id>c90176f96924ee7d207501b32f216925773d3bdb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Handling of memory errors when creating to-be-closed upvalues</title>
<updated>2018-10-18T19:15:09+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2018-10-18T19:15:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=3c7dc52909ce0688bdb20cacaf686413a79aaf48'/>
<id>3c7dc52909ce0688bdb20cacaf686413a79aaf48</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>First "complete" implementation of to-be-closed variables</title>
<updated>2018-10-17T13:44:42+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2018-10-17T13:44:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=bd96330d037660d9a1769c6c0d989f017e5f0278'/>
<id>bd96330d037660d9a1769c6c0d989f017e5f0278</id>
<content type='text'>
Still missing:
- handling of memory errors when creating upvalue (must run closing
method all the same)
- interaction with coroutines
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Still missing:
- handling of memory errors when creating upvalue (must run closing
method all the same)
- interaction with coroutines
</pre>
</div>
</content>
</entry>
<entry>
<title>Towards "to closed" local variables</title>
<updated>2018-10-08T13:42:07+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2018-10-08T13:42:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=4cd1f4aac01184765818e0cebf02da454ccf6590'/>
<id>4cd1f4aac01184765818e0cebf02da454ccf6590</id>
<content type='text'>
Start of the implementation of "scoped variables" or "to be closed"
variables, local variables whose '__close' (or themselves) are called
when they go out of scope. This commit implements the syntax, the
opcode, and the creation of the corresponding upvalue, but it still
does not call the finalizations when the variable goes out of scope
(the most important part).

Currently, the syntax is 'local scoped name = exp', but that will
probably change.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Start of the implementation of "scoped variables" or "to be closed"
variables, local variables whose '__close' (or themselves) are called
when they go out of scope. This commit implements the syntax, the
opcode, and the creation of the corresponding upvalue, but it still
does not call the finalizations when the variable goes out of scope
(the most important part).

Currently, the syntax is 'local scoped name = exp', but that will
probably change.
</pre>
</div>
</content>
</entry>
<entry>
<title>Added "cost" for the use of C stack by a coroutine invocation.</title>
<updated>2018-09-11T17:24:14+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2018-09-11T17:24:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=b114c7d4871051cbdd7af185a61f35fe4028da79'/>
<id>b114c7d4871051cbdd7af185a61f35fe4028da79</id>
<content type='text'>
Resuming a coroutine uses more C stack than other operations (such as
function calls or recursive syntax). So, to avoid stack overflow
in recursive coroutine invocations, either LUAI_MAXCCALLS must be
too small or a coroutine invocation must "pay" a higher price.
New constant LUAL_COROCSTK ("COROutine C STaK") defines how much
is this price.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Resuming a coroutine uses more C stack than other operations (such as
function calls or recursive syntax). So, to avoid stack overflow
in recursive coroutine invocations, either LUAI_MAXCCALLS must be
too small or a coroutine invocation must "pay" a higher price.
New constant LUAL_COROCSTK ("COROutine C STaK") defines how much
is this price.
</pre>
</div>
</content>
</entry>
<entry>
<title>Details (comments)</title>
<updated>2018-09-11T11:39:12+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2018-09-11T11:39:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=9cbf17b0f1bb4001b237c4027b271f0db9bde62c'/>
<id>9cbf17b0f1bb4001b237c4027b271f0db9bde62c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Corrections in the implementation of '%' for floats.</title>
<updated>2018-08-28T15:36:58+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2018-08-28T15:36:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=5382a22e0eea878339c504b2a9a3b36bcd839fcc'/>
<id>5382a22e0eea878339c504b2a9a3b36bcd839fcc</id>
<content type='text'>
The multiplication (m*b) used to test whether 'm' is non-zero and
'm' and 'b' have different signs can underflow for very small numbers,
giving a wrong result. The use of explicit comparisons solves this
problem. This commit also adds several new tests for '%' (both for
floats and for integers) to exercise more corner cases, such as
very large and very small values.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The multiplication (m*b) used to test whether 'm' is non-zero and
'm' and 'b' have different signs can underflow for very small numbers,
giving a wrong result. The use of explicit comparisons solves this
problem. This commit also adds several new tests for '%' (both for
floats and for integers) to exercise more corner cases, such as
very large and very small values.
</pre>
</div>
</content>
</entry>
<entry>
<title>Deprecated the emulation of '__le' using '__lt'</title>
<updated>2018-08-24T13:17:54+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2018-08-24T13:17:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=8c8a91f2ef7acccb99e3737913faad8d48b39571'/>
<id>8c8a91f2ef7acccb99e3737913faad8d48b39571</id>
<content type='text'>
As hinted in the manual for Lua 5.3, the emulation of the metamethod
for '__le' using '__le' has been deprecated. It is slow, complicates
the logic, and it is easy to avoid this emulation by defining a proper
'__le' function.

Moreover, often this emulation was used wrongly, with a programmer
assuming that an order is total when it is not (e.g., NaN in
floating-point numbers).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As hinted in the manual for Lua 5.3, the emulation of the metamethod
for '__le' using '__le' has been deprecated. It is slow, complicates
the logic, and it is easy to avoid this emulation by defining a proper
'__le' function.

Moreover, often this emulation was used wrongly, with a programmer
assuming that an order is total when it is not (e.g., NaN in
floating-point numbers).
</pre>
</div>
</content>
</entry>
<entry>
<title>Removed extra information from RCS keyword strings</title>
<updated>2018-08-23T17:26:12+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2018-08-23T17:26:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=f99509581ee73c1c2dbddb3398e87c098771d31f'/>
<id>f99509581ee73c1c2dbddb3398e87c098771d31f</id>
<content type='text'>
Version numbers and dates (mostly wrong) from RCS keyword strings
removed from all source files; only the file name are kept.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Version numbers and dates (mostly wrong) from RCS keyword strings
removed from all source files; only the file name are kept.
</pre>
</div>
</content>
</entry>
<entry>
<title>details</title>
<updated>2018-08-17T18:53:39+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2018-08-17T18:53:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/lua-github.git/commit/?id=3dcd04ad610d151afbe8cd92c43e2232e621fbb5'/>
<id>3dcd04ad610d151afbe8cd92c43e2232e621fbb5</id>
<content type='text'>
Minor optimizations in 'lvm.c'. (Not exactly optimizations, but more
chances for optimizations.)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Minor optimizations in 'lvm.c'. (Not exactly optimizations, but more
chances for optimizations.)
</pre>
</div>
</content>
</entry>
</feed>
