[Hugs] #59: missing and/or erroneous output in deteministic function run from WinHUGS cmd line!

Hugs trac at galois.com
Sun Mar 4 11:00:55 EST 2007


#59: missing and/or erroneous output in deteministic function run from WinHUGS
cmd line!
------------------------------------------------+---------------------------
 Reporter:  ettinger at elmgate.eclipse.co.uk      |       Owner:  neil  
     Type:  defect                              |      Status:  new   
 Priority:  critical                            |   Milestone:        
Component:  winhugs                             |     Version:  200609
 Keywords:  inconsistent expression evaluation  |  
------------------------------------------------+---------------------------
--(Output showing the bug is appended below.  It isn't part of the
 program).

 --PLEASE run the function called bug.  It will tell you to type a
 --short expression at the WinHUGS command line.
 --Retry the expression ten times.  I do not get the same result every
 time!
 --Do you find the same problem?  Please, please let me know either way.
 --See below for printout of my "impossible" results.

 --The functions os and s below will be used to demonstrate the WinHUGS
 bug:
 os :: Int -> Int -> Double
 os i j = -22.0/7.1
 s :: [[Int]] -> [[Double]]
 s dat = [[
    sum [ fromIntegral (dat!!i!!j) * os i x * os j y
                               | i <-[0..7] , j <-[0..7] ]
               | x <- [0..7] ]
               | y <- [0..7] ]

 -- The following functions produce the bug test data:
 insig :: [Int]
 insig = [0 | i <-[0..7]]
 signif :: [Int]
 signif = [ 1 ] ++ [0 | i <-[1..7]]
 i = [insig] ++ [signif | i <- [1..7]]

 --For instructions on demonstrating the bug, please run the function
 below:
 bug = "Please type the following to demonstrate the bug:    (take 4.s)i "

 Main> (take 4.s)i
 [[67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703],[67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703],[67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703],[67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703]]
 Main> (take 4.s)i
 [[67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703],[67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703],[67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703],[67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703,67.2088871255703]]
 Main>

-- 
Ticket URL: <http://hackage.haskell.org/trac/hugs/ticket/59>
Hugs <http://www.haskell.org/hugs/>
Hugs 98, an interpreter for Haskell


More information about the Hugs-Bugs mailing list