Expand description
Extensible, graph-based program representation with first-class support for linear types.
This crate contains the core definitions for the HUGR representation. See the top-level crate documentation for more information.
Re-exports§
pub use crate::core::CircuitUnit;pub use crate::core::Direction;pub use crate::core::IncomingPort;pub use crate::core::Node;pub use crate::core::NodeIndex;pub use crate::core::OutgoingPort;pub use crate::core::Port;pub use crate::core::PortIndex;pub use crate::core::Wire;pub use crate::extension::Extension;pub use crate::hugr::Hugr;pub use crate::hugr::HugrView;pub use crate::hugr::SimpleReplacement;
Modules§
- Utilities for building valid HUGRs.
- Definitions for the core types used in the Hugr.
- Extensions
- The Hugr data structure, and its basic component handles.
- Helper macros.
- The operation types for the HUGR.
- Bundles of hugr modules along with the extension required to load them.
- Experiments for
Extensiondefinitions. - General wire types used in the compiler
- General utilities.
Macros§
- Declare ‘const’ variables holding new ExtensionIds, validating that they are well-formed as separate tests - hence, usable at the top level of a test module only. Example:
- Creates a
TypeRowbacked by statically defined data, avoiding allocations.