terms.call_resolver.LazyCall

terms.call_resolver.LazyCall(callee, args, kwargs)

Deferred function call.

This class represents a function that can be a stateful transform (a function with memory) whose arguments can also be stateful transforms.

To evaluate these functions we don’t create a string representing Python code and let eval() run it. We take care of all the steps of the evaluation to make sure all the possibly nested stateful transformations are handled correctly.

Parameters

callee : str

The name of the function

args : list

A list of lazy objects that are evaluated when calling the function this object represents.

kwargs : dict

A dictionary of named arguments that are evaluated when calling the function this object represents.

Methods

Name Description
eval Evaluate the call.

eval

terms.call_resolver.LazyCall.eval(data_mask, env)

Evaluate the call.

This method first evaluates all its arguments, which are themselves lazy objects, and then proceeds to evaluate the call it represents.

Parameters

data_mask : pd.DataFrame

The data frame where variables are taken from

env : Environment

The environment where values and functions are taken from.

Returns

result :

The result of the call evaluation.