Circuit IR
Goose is an OCaml library to model, simulate, and compile quantum programs. At its core, it features a simple intermediate representation (IR) for quantum circuits. This IR can be targeted by compilers or used as an input for Goose's built-in simulator and compiler.
Open QASM
OpenQASM is an open source quantum assembly programming language to design quantum circuits. It is the de facto standard for interoperability of quantum computing tools. Goose supports OpenQASM 2.0 as an input language and features a compiler from OpenQASM to circuit IR.
Simulation
You don't have access to a Quantum Computer? Don't worry! Goose features an easy to use quantum simulator. Goose's simulator takes IR circuits as an input and simulates their execution on real quantum hardware. The result of the simulation is returned as a straightforward array of complex numbers.
Compilation to C
Large circuits with a lot of qbits can take a long time to simulate. When performance is important, Goose can compile circuits to efficient C code. The C translation is performed by symbolic simulation of the circuit.