tff.framework.Call

View source on GitHub

A representation of a function invocation in TFF's internal language.

Inherits From: ComputationBuildingBlock

The call construct takes an argument tuple with two elements, the first being the function to invoke (represented as a computation with a functional result type), and the second being the argument to feed to that function. Typically, the function is either a TFF instrinsic, or a lambda expression.

The concise notation for calls is foo(bar), where foo is the function, and bar is the argument.

fn A value of a functional type that represents the function to invoke.
arg The optional argument, present iff 'fn' expects one, of a type that matches the type of 'fn'.

TypeError if the arguments are of the wrong types.

argument

function

proto Returns a serialized form of this object as a pb.Computation instance.
type_signature Returns the TFF type of this object (an instance of tff.Type).

Methods

compact_representation

View source

Returns the compact string representation of this building block.

formatted_representation

View source

Returns the formatted string representation of this building block.

from_proto

View source

Returns an instance of a derived class based on 'computation_proto'.

Args
computation_proto An instance of pb.Computation.

Returns
An instance of a class that implements 'ComputationBuildingBlock' and that contains the deserialized logic from in 'computation_proto'.

Raises
NotImplementedError if computation_proto contains a kind of computation for which deserialization has not been implemented yet.
ValueError if deserialization failed due to the argument being invalid.

structural_representation

View source

Returns the structural string representation of this building block.