CQCL/tket2

tracking issue: Lower guppy-generated `Circuit`s into `pytket`

Closed this issue · 1 comments

Given a tket2.Circuit generated from a guppy definition (see #303), rewrite into something that can be translated into a tket_json_rs::SerialCircuit.

The following tasks are the bare minimum to support a restricted subset of guppy programs:

  • #380
    • This may be a Hugr-side pass
  • #407
  • #379
    • Translate the measurements and classically controlled operations.
  • #389
  • #418

Extended tket1 support:

  • Translate classically controlled operations into tket2 (and back)
  • #44
  • Translate tk1 logical expressions
  • #428
  • Support n-qubit controlled operations

Extended hugr support:

  • CQCL/hugr#818
  • Flatten TailLoops
  • Flatten Conditionals
  • Inline function calls

Closing this as completed since the core tasks are done. I opened two new tracking issues for the other categories