[Haskell-cafe] Learn You a Haskell for Great Good - a few doubts
karthick.gururaj at gmail.com
Fri Mar 4 05:49:26 CET 2011
There are so many responses, that I do not know where to start..
I'm top-posting since that seems best here, let me know if there are
group guidelines against that.
Some clarifications in order on my original post:
a. I ASSUMED that '()' refers to tuples, where we have atleast a pair.
This is from my Haskell ignorance, so let us forget that for now.
b. Also, when I said: tuples can not be ordered, let alone be enum'd -
I meant: there is no reasonable way of ordering tuples, let alone enum
That does not mean we can't define them:
1. (a,b) > (c,d) if a>c
2. (a,b) > (c,d) if b>d
3. (a,b) > (c,d) if a^2 + b^2 > c^2 + d^2
4. (a,b) > (c,d) if a*b > c*d
If we can imagine (a,b) as a point in the xy plane, (1) defines
ordering based on which point is "more to the right of y axis", (2)
based on "which point is more above x axis", (3) on "which point is
farther from origin" and (4) on "which rectangle made of origin and
the point as diagonally opposite vertices has more area". Which of
these is a reasonable definition? The set of complex numbers do not
have a "default" ordering, due to this very issue.
For enumerating them, we *can* go along the diagonal as suggested. But
why that and not something else? By the way - enumerating them along
the diagonal introduces a new ordering between tuples.
When we do not have a "reasonable" way of ordering, I'd argue to not
have anything at all - let the user decide based on his/her
application of the tuple.
As a side note, the cardinality of rational numbers is the same as
those of integers - so both are "equally" infinite.
On Fri, Mar 4, 2011 at 8:42 AM, Daniel Fischer
<daniel.is.fischer at googlemail.com> wrote:
> On Friday 04 March 2011 03:24:34, Markus wrote:
>> What about having the order by diagonals, like:
>> 0 1 3
>> 2 4
>> and have none of the pair be bounded?
> I tacitly assumed product order (lexicographic order).
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
More information about the Haskell-Cafe