Commits
master
Could not load branches
Nothing to show
Could not load tags
Nothing to show
{{ refName }}
default
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Commits on Jun 30, 2017
Commits on Mar 16, 2017
-
-
-
Make do_logic use variadic arguments.
Also added helper macros for unpacking lists of variadic arguments.
-
Allow BuiltInFunctions to take variable numbers of args via '...'.
Reimplement do_arith to take arguments this way.
Commits on Mar 15, 2017
-
-
-
Force arguments passed to builtin functions to be evaluated in order.
Previously builtins could be called with something similar to: func(eval(args)...) but in C++, the order of evaluation of the args is undefined. R requires that they are evaluated from left to right.
Commits on Mar 10, 2017
Commits on Feb 27, 2017
Commits on Dec 1, 2016
-
Merge pull request #126 from kmillar/promises2
Improvements to arglist and promise handling
-
-
-
Store promises for default args in the activation record.
Rather than creating individual promise objects on the heap, the data for default arguments is stored in a contiguous section in the Frame object. These are promoted to full promise objects only when they are actually needed.
-
Commits on Nov 30, 2016
Commits on Nov 29, 2016
Commits on Nov 23, 2016
-
-
-
The remaining uses of Rf_matchArgs have been switched over to ArgMatcher now and the code has been deleted.
-
Commits on Nov 17, 2016
Commits on Nov 16, 2016
-
Changes to the Promise / PromiseData API
- PromiseData objects can't be copied, only moved. - A PromiseData can refer to an external Promise object.
-
Commits on Nov 10, 2016
Commits on Nov 5, 2016
Commits on Nov 3, 2016
-
Store promiseArgs in the environment's frame.
R keeps a promised copy of the arguments passed to each closure call to support functions such as nargs and UseMethod. Moving them from the ClosureContext to the Frame reduces the amount of code that deals with linked lists of promised args and makes it easier to transition to more efficient representations. Note that access to the promiseArgs should still go through the ClosureContext object to ensure that the semantics are not changed.
-

