|View source on GitHub|
A representation of an intrinsic in TFF's internal language.
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.
__init__( uri, type_spec )
Creates an intrinsic.
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.
Returns a serialized form of this object as a pb.Computation instance.
Returns the TFF type of this object (an instance of
Returns the compact string representation of this building block.
Returns the formatted string representation of this building block.
@classmethod from_proto( cls, computation_proto )
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.
Returns the structural string representation of this building block.