<p class="western" style="margin-bottom:0in">Hi Haskellers,</p>
<p class="western" style="margin-bottom:0in">I have been playing
with the Repa functions and trying the Repa-examples. In order to
gain experience with the Repa functions I have written some small linear algebra utilities and import this module to a bigger project.
In the beginning of my project I used the mmultP function from the
repa-examples to calculate a big matrix, therefore I have and array
of type:</p>
<p class="western" style="margin-bottom:0in"><br>
</p>
<p class="western" style="margin-bottom:0in">arr :: Monad m =&gt; m
(Array U DIM2 Double) 
</p>
<p class="western" style="margin-bottom:0in"><br>
</p>
<p class="western" style="margin-bottom:0in">Then I carried this
array in a lot of functions which become Monadic function and then it
is necessary to introduce the monadic machinery for manipulating this
functions . The Question is then if there is the possibility to work
with a pure function in place of the monadic version?</p>
<p class="western" style="margin-bottom:0in">There is something like
a runRepa function?</p>
<p class="western" style="margin-bottom:0in">runRepa :: Monad m =&gt;
m (Array U DIM2 Double)  - &gt;  Array U DIM2 Double</p><p class="western" style="margin-bottom:0in"><br></p>
<p class="western" style="margin-bottom:0in">or could  I used the
unsafePerformIO function ?</p>
<p class="western" style="margin-bottom:0in"><br>
</p>
<p class="western" style="margin-bottom:0in">or the evaluation of
the parallel arrays must be postponed until the Repa.Array is called
in the main function?</p>
<p class="western" style="margin-bottom:0in"><br>
</p>
<p class="western" style="margin-bottom:0in">Thanks in Advance,</p>
<p class="western" style="margin-bottom:0in"><br>
</p>
<p class="western" style="margin-bottom:0in">Felipe.</p>
<p class="western" style="margin-bottom:0in"><br>
</p>