This Haskell library provides an implementation of the MonadPlus type class that enumerates results of a non-deterministic computation by interleaving subcomputations in a way that has usually much better memory performance than other strategies with the same termination properties.
More information is available on the authors website:
http://okmij.org/ftp/Computation/monads.html#fair-bt-stream