[Haskell-cafe] Is Curry alive?
Sebastian Fischer
fischer at nii.ac.jp
Thu Nov 4 04:32:23 EDT 2010
On Nov 4, 2010, at 2:07 PM, wren ng thornton wrote:
> Besides, it's simple enough to just use the MonadLogic class and
> switch between concrete types, if you need to test performance.
You may even try to use only `MonadPlus` to get more instances. The
only instances of `MonadLogic` are (basically) `[]` and `LogicT` but
there are many more `MonadPlus` instances on Hackage. If you don't
need the flexibility of `LogicT` I recommend using `MonadPlus`.
The fmlist package provides a list datatype that is similar to LogicT
and an instance of `MonadPlus`. stream-monad is a surprisingly space
efficient way to approach infinite search spaces but is also worth
trying for finite searches. If you want to go parallel try tree-monad
in combination with parallel-tree-search. And if stream-monad still
uses too much memory for an infinite search space, try iterative
deepening search from level-monad.
Sebastian
More information about the Haskell-Cafe
mailing list