Re: [Haskell-beginners] [Haskell-cafe] I am having trouble with the type declaration for creating an identity matrix.

Thank you.
One is ONLY supposed to supply the list elements for "newListArray" which
fill the array in increasing order.
On Tue, Apr 24, 2012 at 3:21 PM, Kevin Charter
On Tue, Apr 24, 2012 at 3:20 PM, KC
wrote: initIdentityMat :: Int -> ST s (STUArray s (Int,Int) ((Int, Int), Double)) initIdentityMat m = newListArray ((1,m),(1,m)) ([((i,j), if i == j then 1.0 else 0.0) | i <- [1..m], j <- [1..m]] :: [((Int,Int), Double)])
Doesn't seem to compile, nor do minor variations of the type declaration.
If you use Hoogle to find the type and API docs for 'newListArray', I believe you'll be able to figure out what's wrong, but I'll give you a hint. The list you're giving to 'newListArray' contains too much; and the pair you give it is only half correct.
Kevin
-- Kevin Charter kevin.charter@acm.org
-- -- Regards, KC
participants (1)
-
KC