On Nov 28, 2007 12:12 PM, Kalman Noel <[EMAIL PROTECTED]> wrote:
> Sebastian Sylvan:
> > primes :: [Integer]
> > primes = 2 : filter (null . primeFactors) [3,5..]
> >
> > primeFactors :: Integer-> [Integer]
> > primeFactors n = factor n primes
> >     where
> >         factor m (p:ps) | p*p > m        = []
> >                         | m `mod` p == 0 = p : factor (m `div` p) (p:ps)
> >                         | otherwise      = factor m ps
>
> Your definition gives a strange meaning to primeFactors. I'd want that for all
> n,  product (primeFactors n) == n.  I think this law holds for the code posted
> by Olivier.

Yes you're right. That is property should clearly hold.

-- 
Sebastian Sylvan
+44(0)7857-300802
UIN: 44640862
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to