[Haskell-cafe] Bug in writeArray?

2009-09-23 Thread Grzegorz Chrupała
Hi all, This seems like a bug in the implementation of writeArray: when passed an out-of-range index it silently writes to an incorrect index in the array. -- import Data.Array.IO import Data.Array.Unboxed main = do let (l,u) = ((0,10),(20,20)) marr <- newArray (l,u) 0 :: IO (IOUArray (Int,In

Re: [Haskell-cafe] Bug in writeArray?

2009-09-23 Thread Bulat Ziganshin
Hello Grzegorz, Wednesday, September 23, 2009, 7:19:59 PM, you wrote: > This seems like a bug in the implementation of writeArray: when passed > let (l,u) = ((0,10),(20,20)) writeArray computes raw index (from 0 to total number of array elements) and check that this index is correct. with mult

Re: [Haskell-cafe] Bug in writeArray?

2009-09-24 Thread Grzegorz Chrupała
2009/9/23 Bulat Ziganshin : > Hello Grzegorz, > > Wednesday, September 23, 2009, 7:19:59 PM, you wrote: > >> This seems like a bug in the implementation of writeArray: when passed >>   let (l,u) = ((0,10),(20,20)) > > writeArray computes raw index (from 0 to total number of array > elements) and ch

Re: [Haskell-cafe] Bug in writeArray?

2009-09-24 Thread Iavor Diatchki
I agree with Grzegorz. Perhaps we should file a bug-report, if there isn't one already? -Iavor 2009/9/24 Grzegorz Chrupała : > 2009/9/23 Bulat Ziganshin : >> Hello Grzegorz, >> >> Wednesday, September 23, 2009, 7:19:59 PM, you wrote: >> >>> This seems like a bug in the implementation of writeArra

Re: [Haskell-cafe] Bug in writeArray?

2009-09-24 Thread David Menendez
2009/9/24 Iavor Diatchki : > I agree with Grzegorz.  Perhaps we should file a bug-report, if there > isn't one already? http://hackage.haskell.org/trac/ghc/ticket/2120 Apparently, it's fixed in GHC 6.12. -- Dave Menendez ___

Re: [Haskell-cafe] Bug in writeArray?

2009-09-24 Thread Duncan Coutts
On Thu, 2009-09-24 at 13:53 +0200, Grzegorz Chrupała wrote: > 2009/9/23 Bulat Ziganshin : > > Hello Grzegorz, > > > > Wednesday, September 23, 2009, 7:19:59 PM, you wrote: > > > >> This seems like a bug in the implementation of writeArray: when passed > >> let (l,u) = ((0,10),(20,20)) > > > > wri