-\begin{tikzpicture}
- \matrix (tree) [matrix of nodes,nodes in empty cells, row sep=1em] {
- & \verb#>>|.#\\
- \texttt{delay} & & \verb#>>=.#$~\lambda$\verb#x#$\shortrightarrow$\\
- & \texttt{writeD} & & |[fill=gray!15,label={[xshift=1em,label distance=-5pt]above:{\tiny interpreter}}]|\verb#blink (Not x)#\\
- };
- \draw (tree-1-2.south) -- (tree-2-1.north);
- \draw (tree-1-2.south) -- (tree-2-3.north);
- \draw (tree-2-3.south) -- (tree-3-2.north);
- \draw (tree-2-3.south) -- ([xshift=-1.5em]tree-3-4.north);
- \draw [->,dashed] ([xshift=-1.5em]tree-3-4.north) to [out=25,in=25] (tree-1-2.east);
+\begin{tikzpicture}[node distance=1em]
+ \node (s1) {\verb#>>|.#};
+ \node (d1) [left=of s1.north,yshift=-3em] {\verb#delay 500#};
+ \node (s2) [right=of s1.north,yshift=-3em] {\verb#>>=.# $\lambda x\shortrightarrow$};
+ \node (wd) [left=of s2.north,yshift=-3em] {\verb#writeD D3 st#};
+ \node (rec) [right=of s2.north,yshift=-3em,fill=gray!15,label={[xshift=1em,label distance=-5pt]above:{\tiny interpreter}}] {\verb#blink (Not x)#};
+ \draw (s1.south) -- (d1.north);
+ \draw (s1.south) -- (s2.north);
+ \draw (s2.south) -- (wd.north);
+ \draw (s2.south) -- ([xshift=-1.5em]rec.north);
+% \draw [->,dashed] ([xshift=-1.5em]rec.north) to [out=25,in=25] (s1.east);