30 lines
1.3 KiB
XML
30 lines
1.3 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
|
<pkgmetadata>
|
|
<herd>haskell</herd>
|
|
<maintainer>
|
|
<email>haskell@gentoo.org</email>
|
|
</maintainer>
|
|
<longdescription>
|
|
This package defines the type class @MonadControlIO@, a subset of
|
|
@MonadIO@ into which generic control operations such as @catch@ can
|
|
be lifted from @IO@. Instances are based on monad transformers in
|
|
@MonadTransControl@, which includes all standard monad transformers
|
|
in the @transformers@ library except @ContT@. For convenience, it
|
|
provides a wrapped version of @Control.Exception@ with types
|
|
generalized from @IO@ to all monads in @MonadControlIO@.
|
|
|
|
Note that this package is a rewrite of Anders Kaseorg's @monad-peel@ library.
|
|
The main difference is that this package provides CPS style
|
|
operators and exploits the @RankNTypes@ language extension to
|
|
simplify most definitions.
|
|
|
|
The package includes a copy of the @monad-peel@ testsuite written by Anders Kaseorg.
|
|
The tests can be performed by using @cabal test@.
|
|
|
|
The following @critertion@ based benchmark shows that @monad-control@
|
|
is on average about 2.5 times faster than @monad-peel@:
|
|
|
|
<https://github.com/basvandijk/bench-monad-peel-control>
|
|
</longdescription>
|
|
</pkgmetadata>
|