Portability | portable |
---|---|
Stability | experimental |
Maintainer | Sebastian Fischer (sebf@informatik.uni-kiel.de) |
This Haskell library provides an implementation of the MonadPlus type class that represents the search space as a tree whose constructors represent mzero, return, and mplus.
Such a tree can be used to implement different search strategies, e.g., by using a queue. It can also be used as a basis for parallel search strategies that evaluate different parts of the search space concurrently.
- data SearchTree a
- = None
- | One a
- | Choice (SearchTree a) (SearchTree a)
- data Search a
- searchTree :: Search a -> SearchTree a
Documentation
data SearchTree a Source
The type SearchTree a
represents non-deterministic computations
as a tree structure.
None | |
One a | |
Choice (SearchTree a) (SearchTree a) |
Monad SearchTree | |
MonadPlus SearchTree | |
Show a => Show (SearchTree a) |
Another search monad based on continuations that produce search trees.
searchTree :: Search a -> SearchTree aSource
Computes the SearchTree
representation of a Search
action.