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 --- chapter04/docs/lattice.gv | 29 ++-- chapter04/docs/lattice.svg | 390 ++++++++++++++++++++++----------------------- 2 files changed, 210 insertions(+), 209 deletions(-) (limited to 'chapter04/docs') diff --git a/chapter04/docs/lattice.gv b/chapter04/docs/lattice.gv index 1f286530..29a53b0a 100644 --- a/chapter04/docs/lattice.gv +++ b/chapter04/docs/lattice.gv @@ -4,13 +4,13 @@ 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]; - CTRL [label="Ctrl"]; + 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]; @@ -20,7 +20,7 @@ digraph Lattice { INT_MAXDOTS [label="..." shape=none style=none]; INT_MAX [label="+n"]; - TUPLE [label="TUPLE"]; + TUPLE [label="TUPLE", fillcolor=pink]; // Define edges edge [arrowhead=none]; @@ -44,20 +44,21 @@ 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 -> CTRL; - CTRL -> BOT; + TOP -> CTRL; + CTRL -> BOT; // Additional customization {rank=same; TOP} {rank=same; INT_TOP} - {rank=same; CTRL; INT_MIN; INT_MINDOTS; - INT_MINUS; INT_ZERO; - INT_PLUS; INT_MAXDOTS; - INT_MAX; TUPLE} + {rank=same; + CTRL; + INT_MIN; INT_MINDOTS; INT_MINUS; INT_ZERO; INT_PLUS; INT_MAXDOTS; INT_MAX; + TUPLE + } {rank=same; INT_BOT} {rank=same; BOT;} } diff --git a/chapter04/docs/lattice.svg b/chapter04/docs/lattice.svg index 0d403c20..1cab7681 100644 --- a/chapter04/docs/lattice.svg +++ b/chapter04/docs/lattice.svg @@ -1,195 +1,195 @@ - - - - - - -Lattice - - - -TOP - -⊤ - - - -CTRL - -Ctrl - - - -TOP->CTRL - - - - -INT_TOP - -IntTop - - - -TOP->INT_TOP - - - - -TUPLE - -TUPLE - - - -TOP->TUPLE - - - - -BOT - -⊥ - - - -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 + +⊤ + + + +CTRL + +Ctrl + + + +TOP->CTRL + + + + +INT_TOP + +⊤ :Int + + + +TOP->INT_TOP + + + + +TUPLE + +TUPLE + + + +TOP->TUPLE + + + + +BOT + +⊥ + + + +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 + +⊥ :Int + + + +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 + + + + -- cgit v1.2.3