updates
[phd-thesis.git] / top / blinktree.tex
1 \documentclass[tikz]{standalone}
2 \usepackage{stmaryrd}
3 \usetikzlibrary{arrows.meta,shapes.symbols,matrix,positioning}
4 \begin{document}
5 \begin{tikzpicture}
6 \matrix (tree) [matrix of nodes,nodes in empty cells, row sep=1em] {
7 & \verb#>>|.#\\
8 \texttt{delay} & & \verb#>>=.#$~\lambda$\verb#x#$\shortrightarrow$\\
9 & \texttt{writeD} & & |[fill=gray!15,label={[xshift=1em,label distance=-5pt]above:{\tiny interpreter}}]|\verb#blink (Not x)#\\
10 };
11 \draw (tree-1-2.south) -- (tree-2-1.north);
12 \draw (tree-1-2.south) -- (tree-2-3.north);
13 \draw (tree-2-3.south) -- (tree-3-2.north);
14 \draw (tree-2-3.south) -- ([xshift=-1.5em]tree-3-4.north);
15 \draw [->,dashed] ([xshift=-1.5em]tree-3-4.north) to [out=25,in=25] (tree-1-2.east);
16 \end{tikzpicture}
17 \end{document}