fhelium.ir._operation_catalog
Operation semantic definitions assembled by FHElium dialects.
OperationEffect
type alias View source
OperationEffect = Literal['pure', 'rng-write', 'mutation', 'opaque']OperationSpec
class View source
OperationSpec(name: str, family: str, operand_arity: int | None, result_arity: int | None, operand_roles: tuple[str | None, ...] = (), result_roles: tuple[str | None, ...] = (), effect: OperationEffect = 'pure', validator: OperationValidator | None = None, operation_type: type[Operation] | None = None, dependencies: DependencyDescription = None)Describe one operation's family, signature, roles, and effects.
Attributes
| Name | Type | Default/value |
|---|---|---|
name | str | |
family | str | |
operand_arity | int | None | |
result_arity | int | None | |
operand_roles | tuple[str | None, ...] | () |
result_roles | tuple[str | None, ...] | () |
effect | OperationEffect | 'pure' |
validator | OperationValidator | None | None |
operation_type | type[Operation] | None | None |
dependencies | DependencyDescription | None |
resolve_dependencies
method
def resolve_dependencies(operation: Operation) -> OperationDependencies: ...Resolve fixed or instance-dependent element relationships.
diagnostics
method
def diagnostics(operation: Operation) -> tuple[str, ...]: ...Return local signature and role mismatches for operation.
OperationSpecRegistry
class View source
OperationSpecRegistry(specifications: Iterable[OperationSpec]=())Immutable lookup of uniquely named semantic operation specifications.
names
property
names: tuple[str, ...]Return registered operation names in declaration order.
get
method
def get(name: str) -> OperationSpec | None: ...Return a specification, or None for permissive unknown IR.
require
method
def require(name: str) -> OperationSpec: ...Return a specification or raise a lookup error.
OperationValidator
data View source
OperationValidator: TypeAlias = Callable[[Operation], tuple[str, ...]]argument_descriptor_diagnostics
function View source
def argument_descriptor_diagnostics(value: object, operand_count: int) -> tuple[str, ...]: ...Validate captured nested-call argument metadata.
decode_json_attribute
function View source
def decode_json_attribute(operation: Operation, name: str) -> tuple[object | None, str | None]: ...Decode one required JSON string attribute.
flat_operation
function View source
def flat_operation(operation: Operation) -> tuple[str, ...]: ...Require an operation without properties, regions, or successors.
flat_with_attributes
function View source
def flat_with_attributes(*names: str) -> OperationValidator: ...Build a validator for a flat operation with named attributes.
flat_without_attributes
function View source
def flat_without_attributes(operation: Operation) -> tuple[str, ...]: ...Require a flat operation without operation-specific attributes.
literal_diagnostics
function View source
def literal_diagnostics(value: object) -> tuple[str, ...]: ...Validate one JSON-compatible captured literal descriptor.
operation_spec
function View source
def operation_spec(name: str, family: str, operands: tuple[str | None, ...], results: tuple[str | None, ...]=('encrypted',), *, effect: OperationEffect='pure', validator: OperationValidator | None=None, dependencies: DependencyDescription=None) -> OperationSpec: ...Construct a role-bearing specification for an open operation.
registered_operation_spec
function View source
def registered_operation_spec(operation_type: type[Operation], family: str, *, effect: OperationEffect='pure', validator: OperationValidator | None=None) -> OperationSpec: ...Collect the semantic specification of a registered operation class.
required_string_attribute
function View source
def required_string_attribute(operation: Operation, name: str) -> str | None: ...Return one required nonempty string attribute when present.
unsupported_attributes
function View source
def unsupported_attributes(operation: Operation, allowed: Iterable[str]) -> tuple[str, ...]: ...Return attributes outside common metadata and allowed names.