The way in which I ended up constructing Lonely Hearts (the procedures are set out at the end of this page) can be seen best through a partial call diagram. In a call diagram an arrow pointing from procedure A to procedure B indicates that procedure A calls - and maybe expects input from - procedure B. The diagram below shows only the relationships between the procedures specifically defined for Lonely Hearts. It excludes primitive procedures - hence does not in fact show that phone uses se to stick together "please (or perhaps nothing) and some synonym of the word 'phone'. It also omits pickrandom on the grounds that, although not a primitive, it is a very general purpose tool. On the other hand the diagram does indicate the order in which the calls are made through their left to right arrangement across the page:
At the same time as clarifying the procedural interactions, what this diagram also forcibly highlights is that the hierarchy of LOGO procedures - down from super to sub to sub-sub or from caller to called - parallels directly the hierarchical internal organisation of an advertisement . This microworld is a transparent implementation of what you could call the 'grammar' of a small-ad.