<span style="font-family: courier new,monospace;">Sorry, I didn't mean to answer you in particular. I meant to say that for tuples you could </span><span style="font-family: courier new,monospace;">(I think) </span><span style="font-family: courier new,monospace;">have an enumeration over them without requiring any component be bounded.</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">An example of type (Integer, Integer) you would have:</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">[(0,0) ..] = [(0,0) (0,1) (1,0) (0,2) (1,1) (2,0) ... ]</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">where the order can be visualized by taking diagonals of a table starting from the upper left:</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> 0 1 2 ..</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">0 (0,0) </span><span style="font-family: courier new,monospace;">(0,1) </span><span style="font-family: courier new,monospace;">(0,2) </span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">1 (1,0) (1,1) (1,2)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">2 (2,0) (2,1) (2,2)</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">..<br><br>Would this also have an uncomputable order type? At least for comparing tuples you'd just:<br><br>lt :: (Integer,Integer) -> (Integer,Integer) -> Bool<br>
(a,b) `lt` (c,d) = let<br> sum1 = (a + b)<br> sum2 = (c + d)<br> in if sum1 == sum2<br> then a < c<br> else sum1 < sum2</span><span style="font-family: courier new,monospace;"><br><br><br>
Implementing fromEnum looks like a bit harder problem..<br><br><br>--<br>Markus Läll<br></span><br><br><br><br>On Fri, Mar 4, 2011 at 5:12 AM, Daniel Fischer <<a href="mailto:daniel.is.fischer@googlemail.com">daniel.is.fischer@googlemail.com</a>> wrote:<br>
><br>> On Friday 04 March 2011 03:24:34, Markus wrote:<br>> > What about having the order by diagonals, like:<br>> ><br>> > 0 1 3<br>> > 2 4<br>> > 5<br>> ><br>> > and have none of the pair be bounded?<br>
> ><br>><br>> I tacitly assumed product order (lexicographic order).<br><br>