What's new:
- Created a new java.util.List implementation to back Sleep arrays
with. The sublist method of java.util.LinkedList tracks offsets from
the parent list.
All indexing into a sublist must traverse the parent list in its
entirety. The Sleep implementation creates sublists that hold on to
beginning and end
references in the parent list. This provides the same exact behavior
but makes the sublists perform as if they were a stand-alone list.
Run this code against a 100000 element array to see the difference
between 2.1-b26 and 2.1-b27:
$list = @(...);
while (size($list) > 0)
{
$head = $list[0];
# do stuff with $head
$list = sublist($list, 1);
}
- Improved the JSR223/javax.script API support:
-- ENGINE_SCOPE bindings are now supported and marshalled in as local
variables
-- $__SCRIPT__ and @ARGV are now available to Sleep scripts executed
with jrunscript.
-- better handling of \r, \n, and \r\n in eval() [this is the bug
reported by Tend earlier last week]
In all there are 18 logged changes in this release. Not too shabby.
In other news, I've received a proof copy of the Sleep 2.1 manual
from the printer. The hard copy is beautiful. I plan to make a few
adjustments but overall I'm very excited about how it turned out.
I'm planning to release Sleep 2.1 as soon as the print version of the
manual is available on amazon.com. Likely this will be in the middle
of or end of the end of June.
As usual the beta is available at:
-- Raphael