tff.framework.Lambda

View source on GitHub

A representation of a lambda expression in TFF's internal language.

Inherits From: ComputationBuildingBlock

A lambda expression consists of a string formal parameter name, and a result expression that can contain references by name to that formal parameter. A concise notation for lambdas is (foo -> bar), where foo is the name of the formal parameter, and bar is the result expression.

parameter_name The (string) name of the parameter accepted by the lambda. This name can be used by Reference() instances in the body of the lambda to refer to the parameter. Note that an empty parameter name shall be treated as equivalent to no parameter.
parameter_type The type of the parameter, an instance of types.Type or something convertible to it by types.to_type().
result The resulting value produced by the expression that forms the body of the lambda. Must be an instance of ComputationBuildingBlock.

TypeError if the arguments are of the wrong types.

parameter_name

parameter_type

proto Returns a serialized form of this object as a pb.Computation instance.
result

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.