But not that doing so will cause the program to have an exponential runtime as each new ys must be repeatedly traversed to append a [y].. The alternative is to *unfold* your list by recursing on the right hand side of the (:) to add new elements.
Each time you find another good 9-mer, you add it to
the head of the list. This means that the ultimate
list will be in reverse order of discovery: the first element
to be printed is the last one to be found. To get
output in the order it was discovered, build the
output by ys++[y] rather than y:ys.
_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners