[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