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 <kcharter@gmail.com> wrote:
On Tue, Apr 24, 2012 at 3:20 PM, KC <kc1956@gmail.com> 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