Processes with(data, expr) and within(data, expr).
When data is a variable that holds a tracked InGraphIdentifierDefinition#envState,
the expression expr is evaluated in that environment's scope so that reads of names
defined there resolve correctly.
with: writes in expr are ephemeral (R's with uses a temporary scope and discards them).
within: writes in expr are persisted back into the tracked envState of data.
Arguments are resolved using R's standard matching rules (bindArgs: pmatch for named
args, positional fallback), so with(expr=x, data=e) and with(dat=e, x) are handled correctly.
Falls back to a normal function-call analysis when the data argument cannot be resolved
to a tracked environment.
Processes
with(data, expr)andwithin(data, expr).When
datais a variable that holds a tracked InGraphIdentifierDefinition#envState, the expressionexpris evaluated in that environment's scope so that reads of names defined there resolve correctly.with: writes inexprare ephemeral (R'swithuses a temporary scope and discards them).within: writes inexprare persisted back into the tracked envState ofdata.Arguments are resolved using R's standard matching rules (bindArgs: pmatch for named args, positional fallback), so
with(expr=x, data=e)andwith(dat=e, x)are handled correctly.Falls back to a normal function-call analysis when the data argument cannot be resolved to a tracked environment.