v0.3.1
"Art Smock"
Major Changes
-
License was changed to be
GPL-3
. The contributor license agreement (CLA
) used in the development repository will remain in place with a grace period for comment. With it comes a copyright and warranty disclaimer as recommended in theGPL
, which should make long-time R users feel right at home. -
Added simplest-case destructuring assignment.
(x, y) <- list(a = 1, b = 2) x # [1] 1 y # [1] 2
-
return
keyword introduced (this is unlike R'sreturn()
primitive, and this might change back to using areturn()
primitive in the future)
Experiments
This release introduces "experiments", which are feature-gated behaviors. This release introduces two to start:
-
tail-call-optimization
, when enabled, will handle tail calls without extending the call stack, but with the possibly unexpected behavior of eagerly evaluating arguments to the call. -
rest-args
, when enabled, introduces the ability to name ellipsis arguments and to unpack lists into function calls.
Notable Bugs Addressed
for
loop off-by-one error corrected.
Internals
-
Many
panic!
s where replaced with proper errors. -
Introduced the start of destructuring assignment.
-
Added
Tail
andReturn
Signal
variants, which are used to raise returns back to the calling frame (the calling function).Return
is used to return values andTail
is used to return the tail expression for potential tail call optimization.