
Stefan O'Rear wrote:
On Tue, Jul 10, 2007 at 08:08:52PM +0100, Andrew Coppin wrote:
Erm... Wait a sec... coroutines, comonads, coprograms, codata... what in the name of goodness does "co" actually *mean* anyway??
Nothing.
When mathematicians find a new thing completely unlike an OldThing, but related by some symmetry, they often call the new thing a CoOldThing.
Data can only be constructed using constructors, but can be deconstructed using recursive folds; Codata can only be deconstructed using case analysis, but can be constructed using recursive unfolds.
Monads keep things inside. Comonads keep things outside.
Homology theory studies the boundaries of shapes. Cohomology theory studies the insides of curves.
...
...so it's similar to the term "normal"? As in Normal vector - a vector having unit length. Normal distribution - a common monomodal distribution following a characterstic Gaussian bell curve. Normal subgroup - a subset of a group such that all elements of it commute with the all elements of the whole group. ...