Skip to content
Graphviz (DOT) templates

Type System Lattice (TypeScript-like)

Top (any/unknown) → primitives → bottom (never) lattice.

Template previewGraphviz (DOT)
Rendering…

Make it your own.

digraph tl {
  rankdir=BT;
  graph [bgcolor=transparent];
  node [shape=box, style="rounded,filled", fontname=Inter, fontsize=10];

  Never [label="never (⊥)", fillcolor="#fee2e2"];
  Num [label="number"];
  Str [label="string"];
  Bool [label="boolean"];
  Null [label="null"];
  Undef [label="undefined"];
  Obj [label="object"];
  Unkn [label="unknown"];
  Any [label="any (⊤ — escape hatch)", fillcolor="#fef3c7"];

  Never -> Num; Never -> Str; Never -> Bool; Never -> Null; Never -> Undef; Never -> Obj;
  Num -> Unkn; Str -> Unkn; Bool -> Unkn; Null -> Unkn; Undef -> Unkn; Obj -> Unkn;
  Unkn -> Any;
}