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.



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).



View source

Returns the compact string representation of this building block.


View source

Returns the formatted string representation of this building block.


View source

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

computation_proto An instance of pb.Computation.

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

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.


View source

Returns the structural string representation of this building block.