View source on GitHub

A representation of an intrinsic in TFF's internal language.

Inherits From: ComputationBuildingBlock

An instrinsic is a symbol known to the TFF's compiler pipeline, represended a a known URI. It generally appears in expressions with a concrete type, although all intrinsic are defined with template types. This class does not deal with parsing intrinsic URIs and verifying their types, it is only a container. Parsing and type analysis are a responsibility or the components that manipulate ASTs.

uri The URI of the intrinsic.
type_spec Either the types.Type that represents the type of this intrinsic, or something convertible to it by types.to_type().

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.