Excuse me for repetition, but I first time at <a href="mailto:beginners@haskell.org">beginners@haskell.org</a> and very first time when I sent the message I was not registered, so now I forward it as rightful member. I must clarify the problem a little. The solution I represent below is using only 1 processor from 2 of available but I suspect that using `par` can help to load my computer in full. So :<br>
<br><div class="gmail_quote">---------- Forwarded message ----------<br>From: <b class="gmail_sendername">Alexander.Vladislav.Popov</b> <span dir="ltr"><<a href="mailto:alexander.vladislav.popov@gmail.com">alexander.vladislav.popov@gmail.com</a>></span><br>
Date: 2010/4/22<br>Subject: eve / did = 0.talktalktalk...<br>To: <a href="mailto:beginners@haskell.org">beginners@haskell.org</a><br><br><br><div>Dear Everebody.</div>
<div> </div>
<div>Hepl me please to parallelize (parallel computing of evedidtalk function) the rebus:</div>
<div> </div>
<div>-- | eve / did = 0.talktalktalk... </div>
<p>ten :: Integral a => [a]<br>ten = [0..9]</p>
<p>infixr 7 /:</p>
<p>(/:) :: (Integral a) => [a] -> [a] -> [a]<br>(/:) [] _ = [0]<br>(/:) _ [] = []<br>(/:) x y = coldiv (getInteger x) (getInteger y)</p>
<p>getInteger :: (Num a) => [a] -> a<br>getInteger = foldl ((+) . (*10)) 0</p>
<p>coldiv :: (Integral a) => a -> a -> [a]<br>coldiv a b = q : if r == 0 <br> then [] <br> else coldiv (r * 10) b<br> where <br> (q, r) = a `quotRem` b</p>
<p>evedidtalk = [ ([e, v, e], [d, i, d], [t, a, l, k]) | <br> e <- ten, <br> v <- ten, v /= e,<br> d <- ten, d /= e, d /= v,<br> i <- ten, i /= e, i /= v, i /= d,<br>
t <- ten, t /= e, t /= v, t /= d, t /= i,<br> a <- ten, a /= e, a /= v, a /= d, a /= i, a /= t,<br> l <- ten, l /= e, l /= v, l /= d, l /= i, l /= t, l /= a,<br> k <- ten, k /= e, k /= v, k /= d, k /= i, k /= t, k /= a, k /= l,<br>
take 9 ([e, v, e] /: [d, i, d]) == [0, t, a, l, k, t, a, l, k]<br> ]</p>
<p>Sincerely, Alexander</p>
</div><br>