On 11/3/10 12:34 AM, Gregory Crosswhite wrote:
On 11/2/10 8:37 PM, wren ng thornton wrote:
Though I would suggest you look at the LogicT library instead of using
actual lists... Also, you may be interested in reading the LogicT
paper[2] or this paper[3] about search combinators in Haskell. Both
offer a number of optimizations you should be aware of.

I considered it, but wasn't there discussion recently about how LogicT
is a lot slower than the list monad?

In my experience it's always been faster. Though, of course, it will depend on the shape of your programs. If you need things like fair interleaving, do note that it's quite hard to get right and LogicT has already done the work for you--- both for Logic/LogicT and [], so even if you do use lists you may still want to use the logict package.

Besides, it's simple enough to just use the MonadLogic class and switch between concrete types, if you need to test performance.

--
Live well,
~wren
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to