Skip to content

Version 2.13

Compare
Choose a tag to compare
@trizen trizen released this 24 Dec 09:00
· 2924 commits to master since this release

Speed, speed and more speed. This version incorporates many performance improvements and several bug-fixes.

What's new

  • Auto evaluation-conversion for lazy-methods (ef52c90)
  • Added the Number.modinv() method (b049eb0)
  • Added the Object.bless method to return a blessed object in the self class (0603970)
  • Added the Array.each_slice(n, {...}) method (5e94052)
  • Added the Array.each_cons(n, {...}) method (203ce65)
  • Added experimental support for changing the global precision and accuracy of numbers (8157b53)

Improvements

  • Optimized all the op-assign operators, such as +=, -=, etc... (2dd3ec7)
  • Simplified the code used in calling subroutines from Perl modules (0b786ec)
  • Improved the support for autovivification (4455a3f)
  • String.first() and String.last() will now accept a number as an argument (801ff02)
  • Optimized the String.match() and String.gmatch() methods (31f81c4)
  • Better dumping of regular expressions (32262a1)
  • Pair.first and Pair.second are now lvalues (93af122)
  • Optimized and improved the Array.combinations() method (be956e5)
  • Better translation of certain expressions (1e2133f)
  • Faster translation of strings with code-points between 127 and 255 (e7c3756)
  • Array.ft(from, to) is now considerably faster (3a127a8)
  • Minor performance improvement in stringification of Boolean values (0968745)

Changes

  • Renamed the built-in object SIG to Sig (42a1483)
  • Renamed Array.each_with_index{} to Array.each_kv{} (0cc0dcf)
  • Renamed Array.reduce_pairs{} to Array.pairmap{} (ce2fc7b)
  • Blocks will always be called as blocks, and never as functions (782e847)
  • In list assignments, the last lvalue is now returned (160c97b)
  • Unary operator - will now call the neg method, instead of negate (0621e50)
  • Number.range() with only one argument is no longer inclusive (6bc3074)

Bug-fixes

  • The __BLOCK__ keyword is now translated correctly as a block (572cabb)
  • Fixed the -c command-line switch to work when Sidef is installed (8b8c966)
  • Fixed the Convert.to_f() method to work with rational numbers (a07896d)
  • Flat lists as array indices will work as expected (5fa3c64)

More changes: 2.12...2.13