An "Algebra" of Birds and Nests
Here is an attempt to describe the operations upon birds and nests. In the following diagrams the rule is that if X is given to a bird then copies of X appear on every nest reachable from that bird by following the directed arcs.
When you take out a nest with an egg and drop it you produce a bird/nest pair that can be visualized as
Figure 1 - A single bird and her nest (the I pattern)
If the nest N1 is copied we obtain
Figure 2 - A single bird and two nests (the V pattern)
If instead, B1 is copied we obtain
Figure 3 - Two birds and their nest (the inverted V pattern)
If both B1 and N1 are copied we obtain
Figure 4 - Two birds and two nests (the X pattern)
If take two instances of Figure 2 and combine one nest of each (N2 and N3) by dropping one on the other you get
andbecomes
Figure 5 - Two birds and their two nests after one nest of each are joined (V+V becomes the W pattern)
If a bird's nest is copied and then combined (N1 and N2) you get
becomes
Figure 6- A bird and her two nests after the nests are joined (the V pattern becomes the I pattern)
In a post to the ToonTalk discussion list Jack Waugh suggested that the V pattern become a diamond pattern rather than an I pattern as in Figure 6. His idea is that since then there would be two paths to N1/2 from B1 that two copies of everything B1 receives should arrive on N1/2. One would then have to introduce a new kind of entity to these diagrams -- invisible forwarders of messages. N1 and N2 would become forwarders to N1/2 rather than replaced by N1/2 as in these diagrams.
Furthermore in the same message, Jack suggests that ToonTalk be extended so if a bird is dropped on a bird they are joined. Then if birds from an inverted V pattern (Figure 3) are joined the sub-graph would either become an I pattern (consistent with Figure 6) or a diamond pattern (consistent with Jack's alternative for Figure 6). Again a diamond pattern requires new entities (bird forwarders) and results in duplicate messages arriving at the apex of the diamond.
Another suggestion Jack makes is that it should be possible to combine a bird and nest thereby eliminating both. This would be a way of connecting the birds of the annihilated nest to reach the nests of the annihilated bird. If the nest was a nest of the bird then it would simply be a way of transforming an I pattern to the null graph.
home | search | purchase | manual | news | info | games | faq | support | downloads | endorsements | press | contact us