I wrote:
>      merge' (x:xs) ys = x : merge xs ys
>
>      hammingx = 1 : foldr1 merge' [map (h x) hammingx | x <- hammingx]

Sorry. 'foldr1' is still slightly too strict. (Why doesn't the Haskell
report define foldr1 in terms of foldr?)

The code that works is

    marge' []     ys = ys
    merge' (x:xs) ys = x : merge xs ys

    hammingx = 1 : foldr merge' [] [map (h x) hammingx | x <- hammingx]

I had tested that version, but I assumed the foldr1 version would
be equivalent.

>    which actually works.

And I wrote that without testing. Shame on me.

Bertram
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to