KC | 23 Apr 2012 22:52
Picon

The last statement in a 'do' construct must be an expression: a <- readArray arr (1, 1)

I'm getting the above error message and I cannot figure out why?


buildPair =
    do
arr <- newArray ((1,1),(1,10)) 37 :: ST s (STArray s (Int,Int) Int)
a <- readArray arr (1,1)
        writeArray arr (1,1) 64
        b <- readArray arr (1,1)
        return (a,b)


main = print $ runST buildPair


--
--
Regards,
KC
<div>
<div>I'm getting the above error message and I cannot figure out why?</div>
<div><br></div>
<div><br></div>
<div>buildPair =</div>
<div>&nbsp; &nbsp; do</div>
<div>
<span class="Apple-tab-span">	</span>arr &lt;- newArray ((1,1),(1,10)) 37 :: ST s (STArray s (Int,Int) Int)</div>
<div>
<span class="Apple-tab-span">	</span>a &lt;- readArray arr (1,1)</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; writeArray arr (1,1) 64</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; b &lt;- readArray arr (1,1)</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; return (a,b)</div>
<div>
<br>
</div>
<div><br></div>
<div>main = print $ runST buildPair</div>
<div><span class="Apple-tab-span">		</span></div>
<div><br></div>
<div><br></div>-- <br>--<br>Regards,<br>KC<br>
</div>

Gmane