[Haskell-cafe] Trouble with record syntax and classes
ajb at spamcop.net
ajb at spamcop.net
Mon Feb 26 21:33:19 EST 2007
G'day all.
Oh, one more thing.
Quoting Aaron McDaid <aaron at aaronmcdaid.com>:
> Somebody more knowledgeable can describe the etymology of the terms,
[...]
You can think of a type as a set of values. For example, Bool is the
set { False, True }. A "class", then, is a set of types.
The distinction between "set" and "class" comes from the various set
theories (Goedel-Bernays-von Neumann set theory being the most common)
which try to avoid Russell's Paradox.
For those who are don't know about Russell's Paradox, take a look at the
Wikipedia entry before going on:
http://en.wikipedia.org/wiki/Russell%27s_paradox
The idea behind GBN set theory is to distinguish between "sets", which
are always well-behaved, and "classes", which are not necessarily so
well-behaved. Russell's Paradox is resolved by setting up your axioms
such that the paradoxical "set of all sets with property X" is not,
itself, a set, but a class.
By analogy, we call a set of types, or a "set of sets", a "class".
Cheers,
Andrew Bromage
More information about the Haskell-Cafe
mailing list