Ian Bogost, in his book "Alien Phenomenology", looks at Tobias Kuhn's "Ontograph Framework" (among many other things).
(I think Ian Bogost was first interested in the word "Ontography", and then googled it, and found Tobias Kuhn's work interesting and relevant.)
Specifically, Kuhn ontographs are these diagrams, which consist of two parts, a part called the legend associating words with glyphs, ad a part called the mini world, containing instances of glyphs from the diagram. The legend is something like Plato's world of forms, containing idealized (by which we mean, stripped of particularities) entities that correspond to classes of particulars in the mundane world.
I am interested in ontographs as toy examples of the abstract nonsense I previously posted about.
The real documents that we're trying to characterize as consisting of descriptions, definitions, and examples - math textbooks, computer programs, and so on, are often substantially complex, abstract, or important. The ontograph above is not complex, nor abstract, nor important. That makes it excellent as a toy example.
Let's try to create a silly (a.k.a. toy, trivial) example of a document pinning down the network of ideas in the ontograph above. There might be be three paragraphs (description, definition, and examples) for each glyph/word pair within the legend, and possibly an additional three paragraphs for each instance of a glyph in the mini world. Alternatively, we might choose to use fewer than three techniques to convey some of these ideas. Additionally (and orthogonally) we might, instead of considering glyph instances to be ideas, we might consider the entirety of the mini world a single idea to be conveyed.
Let's choose (for the sake of time) to merely gesture at a particular combination of those choices:
- A description of the Form of a Person
- A definition of the Form of a Person
- A description of the Form of a Man
- A definition of the Form of a Man
- A description of the Form of a Woman
- A definition of the Form of a Woman
- A description of the Form of a Picture
- A definition of the Form of a Picture
- A description of the Form of a Present
- A definition of the Form of a Present
- A description of the Form of a Sees
- A definition of the Form of a Sees
- A description of the Form of a Buys
- A definition of the Form of a Buys
- A description of a Mini World
- An example of a Mini World
If we make an identification of "a description of" with "a paragraph comment", and identify "Form" with "class", this starts to look very much like a medium-sized piece of code.
// A person is [...] <--- description
class Person {
[...] <--- definition
};
// A Man is [...] <--- description
class Man : public Person {
[...] <--- definition
};
// A Woman is [...] <--- description
class Woman : public Person {
[...] <--- definition
};
// A Picture is [...] <--- description
class Picture {
[...] <--- definition
};
// A Present is [...] <--- description
class Present {
[...] <--- definition
};
// Sees is [...] <--- description
class Sees {
[...] <--- definition
};
// A Buys is [...] <--- description
class Buys {
[...] <--- definition
};
// This application [...] <--- description
int main(int argc, char* argv) { <--- definition
Man tom;
Man john
Woman mary;
Woman lara;
Picture top_right_picture;
Picture bottom_left_picture;
Present top_left_present;
Present bottom_right_present;
Sees s1(&mary, &mary);
Sees s2(&tom, &mary);
Sees s3(&mary, &lara);
Sees s4(&tom, &lara);
Sees s5(&lara, &tom);
Sees s6(&john, &tom);
Sees s7(&john, &lara);
Buys b1(&mary, &top_right_picture);
Buys b2(&tom, &top_left_present);
Buys b3(&john, &bottom_left_picture);
Buys b4(&john, &bottom_right_present);
[...]
}
Like many pieces of software, this one does not have any unit tests or examples.