Skip to content

Commit

Permalink
docs: Spec clarifications (#738)
Browse files Browse the repository at this point in the history
A couple of small clarifications suggested by Will.
  • Loading branch information
cqc-alec authored Jan 3, 2024
1 parent 0edee65 commit 2e263c6
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions specification/hugr.md
Original file line number Diff line number Diff line change
Expand Up @@ -1234,7 +1234,9 @@ Note that considering all three $\mu$ lists together,
- the `TgtNode` + `TgtPos`s of all `NewEdgeSpec`s with `EdgeKind` == `Value` will be unique
- and similarly for `EdgeKind` == `Static`
The well-formedness requirements of Hugr imply that $\mu\_\textrm{inp}$ and $\mu\_\textrm{out}$ may only contain `NewEdgeSpec`s with certain `EdgeKind`s, depending on $P$:
The well-formedness requirements of Hugr imply that $\mu\_\textrm{inp}$,
$\mu\_\textrm{out}$ and $\mu\_\textrm{new}$ may only contain `NewEdgeSpec`s with
certain `EdgeKind`s, depending on $P$:
- if $P$ is a dataflow container, `EdgeKind`s may be `Order`, `Value` or `Static` only (no `ControlFlow`)
- if $P$ is a CFG node, `EdgeKind`s may be `ControlFlow`, `Value`, or `Static` only (no `Order`)
- if $P$ is a Module node, there may be `Value` or `Static` only (no `Order`).
Expand Down Expand Up @@ -1262,7 +1264,8 @@ The new hugr is then derived as follows:
6. For each node $(n, b = B(n))$ and for each child $m$ of $b$, replace the
hierarchy edge from $b$ to $m$ with a hierarchy edge from the new copy of
$n$ to $m$ (preserving the order).
7. Remove all nodes in $R$ and edges adjoining them.
7. Remove all nodes in $R$ and edges adjoining them. (Reindexing may be
necessary after this step.)
##### Outlining methods
Expand Down

0 comments on commit 2e263c6

Please sign in to comment.