#1254: truncate = float2Int rule is incorrect
-----------------------------------+----------------------------------------
    Reporter:  [EMAIL PROTECTED]  |        Owner:             
        Type:  bug                 |       Status:  new        
    Priority:  lowest              |    Milestone:  6.8        
   Component:  libraries/base      |      Version:  6.7        
    Severity:  minor               |   Resolution:             
    Keywords:                      |   Difficulty:  Easy (1 hr)
          Os:  Multiple            |     Testcase:  arith005   
Architecture:  powerpc             |  
-----------------------------------+----------------------------------------
Changes (by simonmar):

  * milestone:  _|_ => 6.8
  * testcase:  => arith005

Comment:

 There's more: float2Int# is implemented in the C backend as a cast.  The C
 spec does not define the result of the cast when the result would be
 outside the range of the destination type, so we get unpredictable
 results.

 The Haskell report doesn't say what should happen in the case of
 `truncate` when the result doesn't fit, and the description for
 `properFraction` doesn't either.  Therefore I guess the result is
 undefined for Haskell 98, we should clarify for Haskell'.

 Bottom line: I think the test should be fixed (arith005), and this isn't a
 bug.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/1254>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to