The Turner paper is a must-read. It's about functional programming in
languages where every program is guaranteed to terminate. This is
more useful than it sounds at first.

Turner's initial point is that the presence of ⊥ values in languages
like Haskell spoils one's ability to reason from the program
specification. His basic example is simple:

loop :: Integer -> Integer
loop x = 1 + loop x

Taking the function definition as an equation, we subtract (loop x)
from both sides and get

0 = 1

which is wrong. The problem is that while subtracting (loop
x) from both sides is valid reasoning over the integers, it's not
valid over the Haskell Integer type, because Integer
contains a ⊥ value for which that law doesn't hold: 1 ≠ 0, but 1
+ ⊥ = 0 + ⊥.

Before you can use reasoning as simple and as familiar as subtracting
an expression from both sides, you first have to prove that the value
of the expression you're subtracting is not ⊥.

By banishing nonterminating functions, one also banishes ⊥ values,
and familiar mathematical reasoning is rescued.

You also avoid a lot of confusing language design issues. The whole
question of strictness vanishes, because strictness is solely a matter
of what a function does when its argument is ⊥, and now there is no
⊥. Lazy evaluation and strict evaluation come to the same thing.
You don't have to wonder whether the logical-or operator is strict in
its first argument, or its second argument, or both, or neither,
because it comes to the same thing regardless.

The drawback, of course, is that if you do this, your language is no
longer Turing-complete. But that turns out to be less of a problem in
practice than one would expect.

The paper was so interesting that I am following up several of its
precursor papers, including Abel's paper, about which the Turner paper
says "The problem of writing a decision procedure to recognise
structural recursion in a typed lambda calculus with case-expressions
and recursive, sum and product types is solved in the thesis of
Andreas Abel." And indeed it is.

But none of that is what I was planning to discuss. Rather, Abel
introduces a representation for ordinal numbers that I hadn't thought
much about before.

I will work up to the ordinals via an intermediate example. Abel
introduces a type Nat of natural numbers:

Nat = 1 ⊕ Nat

The "1" here is not the number 1, but rather a base type that contains
only one element, like Haskell's () type or ML's
unit type.
For concreteness, I'll write the single value of this type as '•'.

The ⊕ operator is the disjoint sum operator
for types. The elements of the type S ⊕ T have one of
two forms. They are either left(s) where s∈S or
right(t) where t∈T. So 1⊕1 is
a type with exactly two values: left(•) and right(•).

The values of Nat are therefore left(•), and
right(n) for any element n of Nat. So
left(•), right(left(•)),
right(right(left(•))), and so on. One can get a
more familiar notation by defining:

0

=

left(•)

Succ(n)

=

right(n)

And then one just considers 3 to be an abbreviation for
Succ(Succ(Succ(0))) as usual. (In this
explanation, I omitted some technical details about recursive types.)

So much for the natural numbers. Abel then defines a type of ordinal
numbers, as:

Ord = (1 ⊕ Ord) ⊕ (Nat → Ord)

In this scheme, an ordinal is either left(left(•)),
which represents 0, or left(right(n)), which
represents the successor of the ordinal n, or
right(f), which represents the limit ordinal of the
range of the function f, whose type is Nat → Ord.

We can define abbreviations:

Zero

=

left(left(•))

Succ(n)

=

left(right(n))

Lim(f)

=

right(f)

So 0 = Zero, 1 = Succ(0),
2 = Succ(1),
and so on. If we define a function id which maps Nat into Ord in
the obvious way:

id :: Nat → Ord
id 0 = Zero
id (n + 1) = Succ(id n)

then ω = Lim(id). Then we easily get ω+1 =
Succ(ω), etc., and the limit of this function is 2ω:

But here's what puzzled me. The ordinals are really, really big.
Much too big to be a set in most set theories. And even the countable
ordinals are really, really big. We often think we have a handle on
uncountable sets, because our canonical example is the real numbers,
and real numbers are just decimal numbers, which seem simple enough.
But the set of countable ordinals is full of weird monsters, enough to
convince me that uncountable sets are much harder than most people
suppose.

So when I saw that Abel wanted to define an arbitrary ordinals as a
limit of a countable sequence of ordinals, I was puzzled. Can
you really get every ordinal as the limit of a countable sequence of
ordinals? What about Ω, the first uncountable ordinal?

Well, maybe. I can't think of any reason why not. But it still
doesn't seem right. It is a very weird sequence, and one that you
cannot write down. Because suppose you had a notation for all the
ordinals that you would need. But because it is a notation, the set
of things it can denote is countable, and so a fortiori the limit of
all the ordinals that it can denote is a countable ordinal, not
Ω.

And it's all very well to say that the sequence starts out (0, ω,
2ω, ω2, ωω,
ε0, ε1,
εε0, ...), or whatever, but the
beginning of the sequence is totally unimportant; what is important is
the end, and we have no way to write the end or to even comprehend
what it looks like.

So my question to set theory experts: is every limit ordinal the
least upper bound of some countable sequence of ordinals?

I hate uncountable sets, and I have a fantasy that in the mathematics
of the 23rd Century, uncountable sets will be looked back upon as a
philosophical confusion of earlier times, like Zeno's paradox, or the
luminiferous aether.

[ Addendum 20081106: Not every limit ordinal is the least
upper bound of some countable sequence of (countable) ordinals, and my
guess that Ω is not was correct, but the proof is so simple that
I was quite embarrassed to have missed it.
More details here. ]

The Lake Wobegon DistributionMichael
Lugo mentioned a while back that most distributions are normal. He
does not, of course, believe any such silly thing, so please do not
rush to correct him (or me). But the remark reminded me of how many
people do seem to believe that most distributions are normal.
More than once on internet mailing lists I have encountered people who
ridiculed others for asserting that "nearly all x are above [or
below] average". This is a recurring joke on Prairie Home
Companion, broadcast from the fictional town of Lake Wobegon,
where "all the women are strong, all the men are good looking, and all
the children are above average." And indeed, they can't all be above
average. But they could nearly all be above average. And this
is actually an extremely common situation.

To take my favorite example: nearly everyone has an above-average
number of legs. I wish I could remember who first brought this to my
attention. James Kushner, perhaps?

But the world abounds with less droll examples. Consider a typical
corporation. Probably most of the employees make a below-average
salary. Or, more concretely, consider a small company with ten
employees. Nine of them are paid $40,000 each, and one is the owner,
who is paid $400,000. The average salary is $76,000, and 90% of the
employees' salaries are below average.

The situation is familiar to people interested in baseball statistics
because, for example, most baseball players are below average.
Using Sean Lahman's
database, I find that 588 players received at least one at-bat in
the 2006 National League. These 588 players collected a total of
23,501 hits in 88,844 at-bats, for a collective batting average of
.265. Of these 588, only 182 had an individual batting average higher
than 265. 69% of the baseball players in the 2006 National League
were below-average hitters. If you throw out the players with fewer
than 10 at-bats, you are left with 432 players of whom 279, or 65%,
hit worse than their collective average of 23430/88325 = .265. Other
statistics, such as earned-run averages, are similarly skewed.

The reason for this is not hard to see. Baseball-hitting talent in
the general population is normally distributed, like this:

Here the right side of the graph represents the unusually good hitters, of whom
there aren't very many.
The left side of the graph represents the unusually bad hitters; there
aren't many of those either. Most people are somewhere in the middle,
near the average, and there are about as many above-average hitters as
below-average hitters in the general population.

But major-league baseball players are not the general population.
They are carefully selected, among the best of the best. They are all
chosen from the right-hand edge of the normal curve. The people in
the middle of the normal curve, people like me, play baseball in Clark
Park, not in Quankee Stadium.

Here's the right-hand corner of the curve above, highly magnified:

As you can see here, the shape is not at all like the curve for the
general population, which had the vast majority of the population in
the middle, around the average. Here, the vast majority of the
population is way over on the left side, just barely good enough to
play in the majors, hanging on to their jobs by the skin of their
teeth, subject at any moment to replacement by some kid up from the
triple-A minors. The above-average players are the ones over on the
right end, the few of the few.

Actually I didn't present the case strongly enough. There are around
800 regular major-league ballplayers in the USA, drawn from a population of
around 300 million, a ratio of one per 375,000. Well, no, the ratio is
smaller, since the U.S. leagues also draw the best players from Mexico,
Venezuela, Canada, the Dominican Republic, Japan, and elsewhere. The
curve above is much too inclusive. The real curve for major-league
ballplayers looks more like this:

(Note especially the numbers on the y-axis.)

This has important implications for the analysis of baseball. A
player who is "merely" above average is a rare and precious
resource, to be cherished; far more players are below average.
Skilled analysts know that comparisons with the "average" player are
misleading, because baseball is full of useful, effective players who
are below average. Instead, analysts compare players to a
hypothetical "replacement level", which is effectively the leftmost
edge of the curve, the level at which a player can be easily replaced
by one of those kids from triple-A ball.

In the Historical Baseball Abstract, Bill James describes
some great team, I think one of the Cincinnati Big Red Machine teams
of the mid-1970s, as "possibly the only team in history that was above
average at every position". That's an important thing to know about
the sport, and about team sports in general: you don't need great
players to completely clobber the opposition; it suffices to have
players that are merely above average. But if you're the coach, you'd
better learn to make do with a bunch of players who are below average,
because that's what you have, and that's what the other team will beat
you with.

The right-skewedness of the right side of a normal distribution has
implications that are important outside of baseball. Stephen Jay
Gould wrote an essay about how he was
diagnosed with cancer
and given six months to live.
This sounds awful, and it is awful.
But six months was the expected lifetime for patients with his
type of cancer—the average remaining lifetime, in other
words—and in fact, nearly everyone with that sort of cancer
lived less than six months, usually much less. The average was
only skewed up as high as six months because of a few people who took
years to die. Gould realized this, and then set about trying
to find out how the few long-lived outliers survived and what he could
do to turn himself into one of the long-lived freaks. And he
succeeded, and lived for twenty years, dying eventually at age 60.

My heavens, I just realized that what I've written is an article about
the "long tail". I had no idea I was being so trendy. Sorry, everyone.