summaryrefslogtreecommitdiff
path: root/chapter12/docs/lattice.gv
diff options
context:
space:
mode:
authorCliff Click <cliffc@acm.org>2026-10-02 16:21:02 -0700
committerCliff Click <cliffc@acm.org>2026-10-02 16:21:02 -0700
commit41ae6269689e2b3cde9f7ac4227923d4085dceda (patch)
tree400bf2e5d6ae05564cb04aaea3104c031f321f9e /chapter12/docs/lattice.gv
parentb33647231e20e2dc155beb2c8fe721f952d67a54 (diff)
downloadSimple-41ae6269689e2b3cde9f7ac4227923d4085dceda.tar.gz
Simple-41ae6269689e2b3cde9f7ac4227923d4085dceda.zip
More better layout ch10a,b,11
Diffstat (limited to 'chapter12/docs/lattice.gv')
-rw-r--r--chapter12/docs/lattice.gv25
1 files changed, 22 insertions, 3 deletions
diff --git a/chapter12/docs/lattice.gv b/chapter12/docs/lattice.gv
index f3b5051c..e8631cd5 100644
--- a/chapter12/docs/lattice.gv
+++ b/chapter12/docs/lattice.gv
@@ -118,9 +118,28 @@ digraph Lattice {
node [fillcolor="#ffc0cb"];
TUPLE_TOP [label="⊤:tuple"];
TUPLE_BOT [label="⊥:tuple"];
- TUPLE1 [label="(type)", shape=box];
- TUPLE2 [label="(type, type)", shape=box];
- TUPLEN [label="(type, …)", shape=box];
+ // Each black element stands for a recursively nested type lattice.
+ TUPLE1 [shape=plain, label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4">
+ <TR><TD BGCOLOR="#ffc0cb">tuple</TD></TR>
+ <TR><TD BGCOLOR="black"><FONT COLOR="white">type</FONT></TD></TR>
+ </TABLE>
+ >];
+ TUPLE2 [shape=plain, label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4">
+ <TR><TD BGCOLOR="#ffc0cb">tuple</TD></TR>
+ <TR><TD BGCOLOR="black"><FONT COLOR="white">type</FONT></TD></TR>
+ <TR><TD BGCOLOR="black"><FONT COLOR="white">type</FONT></TD></TR>
+ </TABLE>
+ >];
+ TUPLEN [shape=plain, label=<
+ <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4">
+ <TR><TD BGCOLOR="#ffc0cb">tuple</TD></TR>
+ <TR><TD BGCOLOR="black"><FONT COLOR="white">type</FONT></TD></TR>
+ <TR><TD BGCOLOR="black"><FONT COLOR="white">…</FONT></TD></TR>
+ <TR><TD BGCOLOR="black"><FONT COLOR="white">type</FONT></TD></TR>
+ </TABLE>
+ >];
{rank=same; TUPLE1; TUPLE2; TUPLEN;}
TUPLE1 -> TUPLE2 -> TUPLEN [style=invis];
TUPLE_TOP -> {TUPLE1 TUPLE2 TUPLEN};