MissingH is a library of all sorts of utility functions for Haskell
programmers. It is written in pure Haskell and thus should be extremely
portable and easy to use.
Provides a monad-transformer version of the Control.Exception.catch
Haskell function. For this, it defines the MonadCatchIO class, a subset
of MonadIO. It defines proper instances for most monad transformers in
the 'mtl' library.
Provides functions to throw and catch exceptions. Unlike the functions from
Control.Exception, which work in IO, these work in any stack of monad
transformers (from the 'transformers' package) with IO as the base monad.
You can extend this functionality to other monads, by creating an instance
of the MonadCatchIO class.
Support for computations which consume random values.
This tiny Haskell package contains the class ObjectName, which corresponds to
the general notion of explicitly handled identifiers for API objects, e.g. a
texture object name in OpenGL or a buffer object name in OpenAL.
A priority search queue efficiently supports the opperations of both a
search tree and a priority queue. A 'Binding' is a product of a key and
a priority. Bindings can be inserted, deleted, modified and queried in
logarithmic time, and the binding with the least priority can be
retrieved in constant time. A queue can be built from a list of
bindings, sorted by keys, in linear time.
QuickCheck is a library for random testing of program properties.
The programmer provides a specification of the program, in the form of
properties which functions should satisfy, and QuickCheck then tests
that the properties hold in a large number of randomly generated cases.
Specifications are expressed in Haskell, using combinators defined in
the QuickCheck library. QuickCheck provides combinators to define
properties, observe the distribution of test data, and define test data
generators.
ReadArgs provides the `readArgs` IO action, which lets you tell the compiler
to parse the command line arguments to fit the type signature you give.
A monad transformer version of the ST monad.
This provides a much safer semaphore than the QSem, QSemN, SampleVar in
base. Those base modules are not exception safe and can be broken by
killThread.