The Report says that the Enum instance for Ratio uses the same rule as
for Float/Double, namely that 
        [a..b]
means
        takeWhile (<= (b+1/2)) [a, a+1, a+2, ...]

You may say that the "<=" should be "<" but that's what the Report says.
Certainly if you do [1%3..10%3] you'll get more values than your rule
suggests.  

I'm not sure what your rule should be, though.  (What about [2%4, ...
20%4]?)
Anyway, it's a bit late to change the Report

Simon

| -----Original Message-----
| From: Ferenc Wagner [mailto:wferi@;bolyai1.elte.hu]
| Sent: 22 October 2002 11:12
| To: [EMAIL PROTECTED]
| Subject: Rational sequence
| 
| With GHC-5.02.2, I do
| 
| $ ghci
| Prelude> :m Ratio
| Ratio> [1%2..10%2]
| [1 % 2,3 % 2,5 % 2,7 % 2,9 % 2,11 % 2]
| 
| The question is, why is there 11%2 at the end of the list?
| It's inconsistent with the (good) rules for Integer, since
| 
| Ratio> [1,3..10]
| [1,3,5,7,9]
| 
| Is this intentional?
|                                         Feri.
| _______________________________________________
| Haskell-Cafe mailing list
| [EMAIL PROTECTED]
| http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________
Haskell-Cafe mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to