On Feb 18, 2010, at 2:08 PM, Nick Rudnick wrote:

my actual posting was about rename refactoring category theory; closed/open was just presented as an example for suboptimal terminology in maths. But of course, bordered/unbordered would be extended by e.g. «partially bordered» and the same holds.

And my point was that your terminology was suboptimal for just the same reasons. The difficulty of mathematics is hardly the funny names.

Perhaps you're not familiar with the development of Category theory. Hans Aberg gave a brief development. Basically, Category theory is the RESULT of the refactoring you're asking about. Category theory's beginnings are found in work on differential topology (where functors and higher order constructs took on a life of their own), and the unification of topology, lattice theory, and universal algebra (in order to ground that higher order stuff). Distinct models and notions of computation were unified, using arrows and objects.

Now, you could have a legitimate gripe about current category theory terminology. But I am not so sure. We can "simplify" lots of things. Morphisms can become arrows or functions. Auto- can become "self-". "Homo-" can become "same-". Functors can become "Category arrows". Does it help? You tell me.

But if we're ever going to do anything interesting with Category theory, we're going to have to go into the realm of dealing with SOME kind of algebra. We need examples, and the mathematically tractable ones have names like "group", "monoid", "ring", "field", "sigma- algebras", "lattices", "logics", "topologies", "geometries". They are arbitrary names, grounded in history. Any other choice is just as arbitrary, if not more so. The closest thing algebras have to a unique name is their signature -- basically their axiomatization -- or a long descriptive name in terms of arbitrary names and adjectives ("the Cartesian product of a Cartesian closed category and a groupoid with groupoid addition induced by...."). The case for Pareto efficiency is here: is changing the name of these kinds of structures wholesale a win for efficiency? The answer is "no". Everybody would have to learn the new, arbitrary names, instead of just some people having to learn the old arbitrary names.

Let's compare this to the "monad fallacy". It is said every beginner Haskell programmer write a monad tutorial, and often falls into the "monad fallacy" of thinking that there is only one interpretation for monadism. Monads are relatively straightforward. Their power comes from the fact that many different kinds of things are "monadic" -- sequencing, state, function application. What name should we use for monads instead? Which interpretation must we favor, despite the fact that others will find it counter-intuitive? Or should we choose to not favor one, and just pick a new arbitrary name?_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to