J* Version 1.6.1
Changelog of versions 1.6
and 1.6.1
:
- Slightly changed the structure of the core library:
any
,all
,reduce
and other free-functions that operate on iterables have been moved in theIterable
class as methods.toList
has been removed in favor of theList
constructor.- Added a
sum
method toIterable
that consumes it and returns the sum of its elements. - Added
toList
,toTable
andtoTuple
methods toIterable
that consume it and return the appropriate collection. - The
IZip
iterator can now "zip" only two iterables instead of a variable amount.
- Faster foreach execution:
- Added a new instruction
OP_FOR_PREP
that is responsible for caching the__iter__
and__next__
methods on the stack for faster method calls v1.6.1
: modified the behaviour ofOP_FOR_PREP
,OP_FOR_NEXT
andOP_FOR_ITER
to cache more aggressively and reduce stack manipulation.
- Added a new instruction
- Better error reporting on binary file deserialization errors
- Slight changes to jsrDisassembleCode API, that now takes in a filepath to be used in error reporting
- Bugfixes:
v1.6.1
: Fixed a bug that broke the iteration protocol by calling__next__
multiple times inIFilter
- Removed unused const type in the
.jsc
file format