# The binary-search package

__Introduction__

This package provides varieties of binary search functions.
c.f. `Numeric.Search` for the examples.

These search function can search for pure and monadic predicates, of type:

pred :: Eq b => a -> b pred :: (Eq b, Monad m) => a -> m b

The predicates must satisfy that the domain range for any codomain value
is continuous; that is, `∀x≦y≦z. pred x == pred z ⇒ pred y == pred x` .

For example, we can address the problem of finding the boundary of an upward-closed set of integers, using a combination of exponential and binary searches.

Variants are provided
for searching within bounded and unbounded intervals of
both `Integer` and bounded integral types.

The package was created by Ross Paterson, and extended by Takayuki Muranushi, to be used together with SMT solvers.

__The Module Structure__

`Numeric.Search`provides the generic search combinator, to search for pure and monadic predicates. *`Numeric.Search.Bounded`,`Numeric.Search.Integer`,`Numeric.Search.Range`provides the various specialized searchers, which means less number of function arguments, and easier to use.

## Properties

Versions | 0.0, 0.1, 0.9, 1.0, 1.0.0.1, 1.0.0.2, 1.0.0.3 |
---|---|

Change log | None available |

Dependencies | base (>=4.5 && <5), containers (>=0.4), transformers [details] |

License | BSD3 |

Author | Ross Paterson <ross@soi.city.ac.uk>, Takayuki Muranushi <muranushi@gmail.com> |

Maintainer | Takayuki Muranushi <muranushi@gmail.com> |

Category | Algorithms |

Source repository | head: git clone https://github.com/nushio3/binary-search |

Uploaded | Fri Jan 22 01:28:44 UTC 2016 by TakayukiMuranushi |

Distributions | LTSHaskell:1.0.0.3, Stackage:1.0.0.3 |

Downloads | 1140 total (60 in last 30 days) |

Votes | |

Status | Docs pending Build status unknown [no reports yet] |

## Modules

*Numeric*- Numeric.Search
- Numeric.Search.Bounded
- Numeric.Search.Integer
- Numeric.Search.Range

- Numeric.Search

## Downloads

- binary-search-1.0.0.3.tar.gz [browse] (Cabal source package)
- Package description (included in the package)

#### Maintainers' corner

For package maintainers and hackage trustees