diff options
| author | Cliff Click <cliffc@acm.org> | 2026-10-02 16:21:02 -0700 |
|---|---|---|
| committer | Cliff Click <cliffc@acm.org> | 2026-10-02 16:21:02 -0700 |
| commit | 41ae6269689e2b3cde9f7ac4227923d4085dceda (patch) | |
| tree | 400bf2e5d6ae05564cb04aaea3104c031f321f9e /chapter14/docs/lattice.gv | |
| parent | b33647231e20e2dc155beb2c8fe721f952d67a54 (diff) | |
| download | Simple-41ae6269689e2b3cde9f7ac4227923d4085dceda.tar.gz Simple-41ae6269689e2b3cde9f7ac4227923d4085dceda.zip | |
More better layout ch10a,b,11
Diffstat (limited to 'chapter14/docs/lattice.gv')
| -rw-r--r-- | chapter14/docs/lattice.gv | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/chapter14/docs/lattice.gv b/chapter14/docs/lattice.gv index ac2f1f2e..5fd97a52 100644 --- a/chapter14/docs/lattice.gv +++ b/chapter14/docs/lattice.gv @@ -142,9 +142,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}; |
