<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
</head>
<body class='hmmessage'><div dir='ltr'>
Dear All,<br><br>I am trying to parallelize the below Karatsuba multiplication code. However, <br>at each trial of mine the error message speaking of "incorrect indentation"<br>is returned. I could not come up with ideas to solve the problem.<br><br>I will be more than glad and appreciated, if any of you sheds light on the<br>issue and point out the problem with its solution.<br><br>Many thanks in advance,<br><br>&nbsp;Cheers,<br>Burak.<br><br>import Control.Parallel<br>import Control.Parallel.Strategies<br><br>normalize [] = []<br>normalize (False : xs) = <br>&nbsp; let ns = normalize xs<br>&nbsp; in if ns == [] then [] else (False : ns)<br>normalize (True : xs) = True : (normalize xs)<br><br>mul [] _ = []<br>mul (False : xs) ys = False : (mul xs ys)<br>mul (True : xs) ys = mul (False : xs) ys `add` ys<br><br>mulk3 [] _ = []<br>mulk3 _ [] = []<br>mulk3 xs ys =<br>&nbsp;(normalize (mulk3 xs0 ys0)) `add` (replicate l False ++ (((mulk3 (add xs0 xs1) (add ys0 ys1)) `sub` (normalize (mulk3 xs0 ys0)) `sub` (normalize (mulk3 xs1 ys1))) `add` (replicate l False ++ (normalize (mulk3 xs1 ys1)))))<br>&nbsp;where<br>&nbsp; l = (min (length xs) (length ys)) `div` 2<br>&nbsp; (xs0, xs1) = splitAt l xs<br>&nbsp; (ys0, ys1) = splitAt l ys<br>&nbsp; if l &gt; 32 then<br>&nbsp;&nbsp; (normalize (mulk3 xs0 ys0)) `par`<br>&nbsp;&nbsp; (normalize (mulk3 xs1 ys1)) `par`<br>&nbsp;&nbsp; ((mulk3 (add xs0 xs1) (add ys0 ys1)) `sub` (normalize (mulk3 xs0 ys0)) `sub` (normalize (mulk3 xs1 ys1)))<br>&nbsp; else<br>&nbsp;&nbsp; mul xs ys<br><br><br>                                               </div></body>
</html>