Let us take a step back. The article on my web page noted the great
difficulty of writing AI search program in Haskell because the search
tree is evaluated lazily: whenever a node is evaluated, its result is
memoized for further use. That is precisely the wrong thing to do for
such problems. Again, this problem is precisely of lazy evaluation (as
defined in the book below). The obvious way to avoid memoization was
to introduce thunks -- which didn't work. The article then developed a
more involved solution. Yes, -no-full-laziness would have worked just
as well. However, the solution in the article works on the
case-by-case basis whereas -no-full-laziness affects the whole
compilation unit. It is for that reason that I pointed out the article
in this discussion.