From 34766f1a2e9e60626eb1bd5a08140fc41a3770c8 Mon Sep 17 00:00:00 2001 From: Cliff Click Date: Tue, 26 Nov 2024 17:00:45 -0800 Subject: Upgrades to the Type lattice diagrams --- chapter06/docs/lattice.gv | 29 ++-- chapter06/docs/lattice.svg | 412 ++++++++++++++++++++++----------------------- 2 files changed, 219 insertions(+), 222 deletions(-) (limited to 'chapter06/docs') diff --git a/chapter06/docs/lattice.gv b/chapter06/docs/lattice.gv index e533ad4a..782c2253 100644 --- a/chapter06/docs/lattice.gv +++ b/chapter06/docs/lattice.gv @@ -4,24 +4,24 @@ digraph Lattice { node [shape=circle, style=filled, fillcolor=lightblue]; nodesep=0.6; - TOP [label="⊤"]; - BOT [label="⊥"]; + TOP [label="⊤" , fillcolor=black, fontcolor=white]; + BOT [label="⊥", fillcolor=black, fontcolor=white]; - XCTRL [label="~Ctrl"]; - CTRL [label="Ctrl"]; + XCTRL [label="⊤ :Ctrl", fillcolor=yellow]; + CTRL [label="⊥ :Ctrl", fillcolor=yellow]; - INT_TOP [label="IntTop"]; - INT_BOT [label="IntBot"]; + INT_TOP [label="⊤ :Int"]; + INT_BOT [label="⊥ :Int"]; INT_MIN [label="-n"]; - INT_MINDOTS [label="..." shape=none style=none]; INT_MINUS [label="-1"]; + INT_MINDOTS [label="..." shape=none style=none]; INT_ZERO [label="0"]; INT_PLUS [label="1"]; INT_MAXDOTS [label="..." shape=none style=none]; INT_MAX [label="+n"]; - TUPLE [label="TUPLE"]; + TUPLE [label="TUPLE", fillcolor=pink]; // Define edges edge [arrowhead=none]; @@ -45,20 +45,17 @@ digraph Lattice { INT_MIN -> INT_MINDOTS -> INT_MINUS -> INT_ZERO -> INT_PLUS -> INT_MAXDOTS -> INT_MAX [style=invis]; - TOP -> TUPLE; - TUPLE -> BOT; + TOP -> TUPLE; + TUPLE -> BOT; - TOP -> XCTRL; + TOP -> XCTRL; XCTRL -> CTRL; - CTRL -> BOT; + CTRL -> BOT; // Additional customization {rank=same; TOP} {rank=same; INT_TOP; XCTRL} - {rank=same; INT_MIN; INT_MINDOTS; - INT_MINUS; INT_ZERO; - INT_PLUS; INT_MAXDOTS; - INT_MAX; TUPLE} + {rank=same; INT_MIN; INT_MINDOTS; INT_MINUS; INT_ZERO; INT_PLUS; INT_MAXDOTS; INT_MAX; TUPLE } {rank=same; INT_BOT; CTRL} {rank=same; BOT;} } diff --git a/chapter06/docs/lattice.svg b/chapter06/docs/lattice.svg index 713b54c1..f4929b41 100644 --- a/chapter06/docs/lattice.svg +++ b/chapter06/docs/lattice.svg @@ -1,206 +1,206 @@ - - - - - - -Lattice - - - -TOP - -⊤ - - - -XCTRL - -~Ctrl - - - -TOP->XCTRL - - - - -INT_TOP - -IntTop - - - -TOP->INT_TOP - - - - -TUPLE - -TUPLE - - - -TOP->TUPLE - - - - -BOT - -⊥ - - - -CTRL - -Ctrl - - - -XCTRL->CTRL - - - - -CTRL->BOT - - - - -INT_MIN - --n - - - -INT_TOP->INT_MIN - - - - -INT_MINDOTS -... - - - -INT_TOP->INT_MINDOTS - - - - -INT_MINUS - --1 - - - -INT_TOP->INT_MINUS - - - - -INT_ZERO - -0 - - - -INT_TOP->INT_ZERO - - - - -INT_PLUS - -1 - - - -INT_TOP->INT_PLUS - - - - -INT_MAXDOTS -... - - - -INT_TOP->INT_MAXDOTS - - - - -INT_MAX - -+n - - - -INT_TOP->INT_MAX - - - - -INT_BOT - -IntBot - - - -INT_BOT->BOT - - - - -INT_MIN->INT_BOT - - - - - -INT_MINDOTS->INT_BOT - - - - - -INT_MINUS->INT_BOT - - - - - -INT_ZERO->INT_BOT - - - - - -INT_PLUS->INT_BOT - - - - - -INT_MAXDOTS->INT_BOT - - - - - -INT_MAX->INT_BOT - - - - -TUPLE->BOT - - - - + + + + + + +Lattice + + + +TOP + +⊤ + + + +XCTRL + +⊤ :Ctrl + + + +TOP->XCTRL + + + + +INT_TOP + +⊤ :Int + + + +TOP->INT_TOP + + + + +TUPLE + +TUPLE + + + +TOP->TUPLE + + + + +BOT + +⊥ + + + +CTRL + +⊥ :Ctrl + + + +XCTRL->CTRL + + + + +CTRL->BOT + + + + +INT_MIN + +-n + + + +INT_TOP->INT_MIN + + + + +INT_MINUS + +-1 + + + +INT_TOP->INT_MINUS + + + + +INT_MINDOTS +... + + + +INT_TOP->INT_MINDOTS + + + + +INT_ZERO + +0 + + + +INT_TOP->INT_ZERO + + + + +INT_PLUS + +1 + + + +INT_TOP->INT_PLUS + + + + +INT_MAXDOTS +... + + + +INT_TOP->INT_MAXDOTS + + + + +INT_MAX + ++n + + + +INT_TOP->INT_MAX + + + + +INT_BOT + +⊥ :Int + + + +INT_BOT->BOT + + + + +INT_MIN->INT_BOT + + + + + +INT_MINUS->INT_BOT + + + + + +INT_MINDOTS->INT_BOT + + + + + +INT_ZERO->INT_BOT + + + + + +INT_PLUS->INT_BOT + + + + + +INT_MAXDOTS->INT_BOT + + + + + +INT_MAX->INT_BOT + + + + +TUPLE->BOT + + + + -- cgit v1.2.3