Skip to content
This repository has been archived by the owner. It is now read-only.
A library for parallel, non-deterministic, search.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


search-party Build Status

Often in search problems you don't care exactly which solution you get, only that you are guaranteed to get one if it exists. Furthermore the problem itself might be expensive. This makes cases where the problem can be re-arranged to checking the suitability of some collection of candidates suitable for parallelisation.

This package provides a monad for short-circuiting search problems, where blocking only occurs when the result of something is demanded. In particular, this means that parallelism can be preserved and blocking avoided completely if just using the Functor, Applicative, or Alternative instances.

The documentation of the latest developmental version is available online.


search-party depends on dejafu, which has yet to be pushed to hackage. Assuming you are using sandboxes, you can do something like this:

git clone
git clone
cd search-party
cabal sandbox init
cabal sandbox add-source ../dejafu
cabal install --only-dependencies
cabal build


Bug reports, pull requests, and comments are very welcome!

Feel free to contact me on GitHub, through IRC (#haskell on freenode), or email (

You can’t perform that action at this time.