phase_rs/lib.rs
1//! The repository contains an implementation of the combinator variant of the "it's just a phase" language.
2//! Given an input program, the interpreter:
3//! - performs some basic normalisation (associativity etc.)
4//! - performs macro expansion of inverses, square roots, and gate definitions
5//! - compiles the term to a circuit definition.
6//! - Builds the unitary for the output.
7//!
8//! ## Running
9//!
10//! A file of commands can be run using:
11//!
12//! ```bash
13//! cargo run -- --file <FILENAME>
14//! ```
15//!
16//! or passed in through stdin. For all options see:
17//! ```bash
18//! cargo run -- --help
19//! ```
20
21// #![warn(missing_docs)]
22
23pub mod circuit_syntax;
24pub mod command;
25pub mod ket;
26pub mod normal_syntax;
27pub mod phase;
28pub mod raw_syntax;
29pub mod text;
30pub mod typecheck;
31pub mod typed_syntax;