Skip to content

Commit

Permalink
Print []+[] as Bool and [] as Unit in user-facing messages
Browse files Browse the repository at this point in the history
  • Loading branch information
aborgna-q committed Dec 9, 2024
1 parent 4c1c6ee commit adf336d
Show file tree
Hide file tree
Showing 11 changed files with 25 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@ digraph {
6:out0 -> 1:in0 [style="dashed"]
7 [shape=plain label=<<table border="1"><tr><td align="text" border="0" colspan="1">(7) Input</td></tr><tr><td port="out0" align="text" colspan="1" cellpadding="1" >0: usize</td></tr></table>>]
7:out0 -> 8:in1 [style=""]
8 [shape=plain label=<<table border="1"><tr><td port="in0" align="text" colspan="1" cellpadding="1" >0: []</td><td port="in1" align="text" colspan="1" cellpadding="1" >1: usize</td></tr><tr><td align="text" border="0" colspan="2">(8) Output</td></tr></table>>]
9 [shape=plain label=<<table border="1"><tr><td align="text" border="0" colspan="1">(9) const:seq:{}</td></tr><tr><td port="out0" align="text" colspan="1" cellpadding="1" >0: []</td></tr></table>>]
8 [shape=plain label=<<table border="1"><tr><td port="in0" align="text" colspan="1" cellpadding="1" >0: Unit</td><td port="in1" align="text" colspan="1" cellpadding="1" >1: usize</td></tr><tr><td align="text" border="0" colspan="2">(8) Output</td></tr></table>>]
9 [shape=plain label=<<table border="1"><tr><td align="text" border="0" colspan="1">(9) const:seq:{}</td></tr><tr><td port="out0" align="text" colspan="1" cellpadding="1" >0: Unit</td></tr></table>>]
9:out0 -> 10:in0 [style=""]
10 [shape=plain label=<<table border="1"><tr><td port="in0" align="text" colspan="1" cellpadding="1" >0: []</td></tr><tr><td align="text" border="0" colspan="1">(10) LoadConstant</td></tr><tr><td port="out0" align="text" colspan="1" cellpadding="1" >0: []</td></tr></table>>]
10 [shape=plain label=<<table border="1"><tr><td port="in0" align="text" colspan="1" cellpadding="1" >0: Unit</td></tr><tr><td align="text" border="0" colspan="1">(10) LoadConstant</td></tr><tr><td port="out0" align="text" colspan="1" cellpadding="1" >0: Unit</td></tr></table>>]
10:out0 -> 8:in0 [style=""]
hier0 [shape=plain label="0"]
hier0 -> hier2 [style = "dashed"]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ source: hugr-core/src/hugr/views/tests.rs
expression: h.dot_string()
---
digraph {
0 [shape=plain label=<<table border="1"><tr><td port="in0" align="text" colspan="1" cellpadding="1" >0: []+[]</td></tr><tr><td align="text" border="0" colspan="1">(0) DFG</td></tr><tr><td port="out0" align="text" colspan="1" cellpadding="1" >0: []+[]</td></tr></table>>]
1 [shape=plain label=<<table border="1"><tr><td align="text" border="0" colspan="1">(1) Input</td></tr><tr><td port="out0" align="text" colspan="1" cellpadding="1" >0: []+[]</td></tr></table>>]
0 [shape=plain label=<<table border="1"><tr><td port="in0" align="text" colspan="1" cellpadding="1" >0: Bool</td></tr><tr><td align="text" border="0" colspan="1">(0) DFG</td></tr><tr><td port="out0" align="text" colspan="1" cellpadding="1" >0: Bool</td></tr></table>>]
1 [shape=plain label=<<table border="1"><tr><td align="text" border="0" colspan="1">(1) Input</td></tr><tr><td port="out0" align="text" colspan="1" cellpadding="1" >0: Bool</td></tr></table>>]
1:out0 -> 2:in0 [style=""]
2 [shape=plain label=<<table border="1"><tr><td port="in0" align="text" colspan="1" cellpadding="1" >0: []+[]</td></tr><tr><td align="text" border="0" colspan="1">(2) Output</td></tr></table>>]
2 [shape=plain label=<<table border="1"><tr><td port="in0" align="text" colspan="1" cellpadding="1" >0: Bool</td></tr><tr><td align="text" border="0" colspan="1">(2) Output</td></tr></table>>]
hier0 [shape=plain label="0"]
hier0 -> hier1 [style = "dashed"]
hier0 -> hier2 [style = "dashed"]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ source: hugr-core/src/hugr/views/tests.rs
expression: h.dot_string()
---
digraph {
0 [shape=plain label=<<table border="1"><tr><td align="text" border="0" colspan="1">(0) FuncDefn: "test"</td></tr><tr><td port="out0" align="text" colspan="1" cellpadding="1" >0: [[]+[]] -&gt; [[]][[]+[]]</td></tr></table>>]
1 [shape=plain label=<<table border="1"><tr><td align="text" border="0" colspan="1">(1) Input</td></tr><tr><td port="out0" align="text" colspan="1" cellpadding="1" >0: []+[]</td></tr></table>>]
0 [shape=plain label=<<table border="1"><tr><td align="text" border="0" colspan="1">(0) FuncDefn: "test"</td></tr><tr><td port="out0" align="text" colspan="1" cellpadding="1" >0: [Bool] -&gt; [[]][Bool]</td></tr></table>>]
1 [shape=plain label=<<table border="1"><tr><td align="text" border="0" colspan="1">(1) Input</td></tr><tr><td port="out0" align="text" colspan="1" cellpadding="1" >0: Bool</td></tr></table>>]
1:out0 -> 2:in0 [style=""]
2 [shape=plain label=<<table border="1"><tr><td port="in0" align="text" colspan="1" cellpadding="1" >0: []+[]</td></tr><tr><td align="text" border="0" colspan="1">(2) Output</td></tr></table>>]
2 [shape=plain label=<<table border="1"><tr><td port="in0" align="text" colspan="1" cellpadding="1" >0: Bool</td></tr><tr><td align="text" border="0" colspan="1">(2) Output</td></tr></table>>]
hier0 [shape=plain label="0"]
hier0 -> hier1 [style = "dashed"]
hier0 -> hier2 [style = "dashed"]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ expression: h.dot_string()
---
digraph {
0 [shape=plain label=<<table border="1"><tr><td align="text" border="0" colspan="1">(0) Module</td></tr></table>>]
1 [shape=plain label=<<table border="1"><tr><td align="text" border="0" colspan="1">(1) FuncDecl: "test"</td></tr><tr><td port="out0" align="text" colspan="1" cellpadding="1" >0: [[]+[]] -&gt; [[]][[]+[]]</td></tr></table>>]
1 [shape=plain label=<<table border="1"><tr><td align="text" border="0" colspan="1">(1) FuncDecl: "test"</td></tr><tr><td port="out0" align="text" colspan="1" cellpadding="1" >0: [Bool] -&gt; [[]][Bool]</td></tr></table>>]
hier0 [shape=plain label="0"]
hier0 -> hier1 [style = "dashed"]
hier1 [shape=plain label="1"]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ graph LR
9["(9) const:seq:{}"]
10["(10) LoadConstant"]
7--"0:1<br>usize"-->8
9--"0:0<br>[]"-->10
10--"0:0<br>[]"-->8
9--"0:0<br>Unit"-->10
10--"0:0<br>Unit"-->8
end
2-."0:0".->6
2-."1:0".->1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@ graph LR
direction LR
1["(1) Input"]
2["(2) Output"]
1--"0:0<br>[]+[]"-->2
1--"0:0<br>Bool"-->2
end
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@ graph LR
direction LR
1["(1) Input"]
2["(2) Output"]
1--"0:0<br>[]+[]"-->2
1--"0:0<br>Bool"-->2
end
4 changes: 2 additions & 2 deletions hugr-core/src/snapshots/hugr_core__package__test__cfg.snap
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ graph LR
14["(14) const:seq:{}"]
15["(15) LoadConstant"]
12--"0:1<br>usize"-->13
14--"0:0<br>[]"-->15
15--"0:0<br>[]"-->13
14--"0:0<br>Unit"-->15
15--"0:0<br>Unit"-->13
end
6-."0:0".->10
6-."1:0".->5
Expand Down
2 changes: 1 addition & 1 deletion hugr-core/src/snapshots/hugr_core__package__test__dfg.snap
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,6 @@ graph LR
direction LR
1["(1) Input"]
2["(2) Output"]
1--"0:0<br>[]+[]"-->2
1--"0:0<br>Bool"-->2
end
end
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,6 @@ graph LR
direction LR
1["(1) Input"]
2["(2) Output"]
1--"0:0<br>[]+[]"-->2
1--"0:0<br>Bool"-->2
end
end
8 changes: 7 additions & 1 deletion hugr-core/src/types.rs
Original file line number Diff line number Diff line change
Expand Up @@ -148,10 +148,16 @@ impl std::fmt::Display for SumType {
}

match self {
SumType::Unit { size: 1 } => write!(f, "Unit"),
SumType::Unit { size: 2 } => write!(f, "Bool"),
SumType::Unit { size } => {
display_list_with_separator(repeat_n("[]", *size as usize), f, "+")
}
SumType::General { rows } => display_list_with_separator(rows.iter(), f, "+"),
SumType::General { rows } => match rows.len() {
1 if rows[0].is_empty() => write!(f, "Unit"),
2 if rows[0].is_empty() && rows[1].is_empty() => write!(f, "Bool"),
_ => display_list_with_separator(rows.iter(), f, "+"),
},
}
}
}
Expand Down

0 comments on commit adf336d

Please sign in to comment.