[Haskell-cafe] Logic programming using lazy evaluation