summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-haskell/monad-control/metadata.xml')
-rw-r--r--dev-haskell/monad-control/metadata.xml37
1 files changed, 37 insertions, 0 deletions
diff --git a/dev-haskell/monad-control/metadata.xml b/dev-haskell/monad-control/metadata.xml
new file mode 100644
index 000000000000..da06fe160857
--- /dev/null
+++ b/dev-haskell/monad-control/metadata.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>haskell</herd>
+ <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@:
+
+ &lt;https://github.com/basvandijk/bench-monad-peel-control&gt;
+ </longdescription>
+ <use>
+ <flag name="instancest">If enabled this package will export
+ MonadBaseControl instances for the lazy and strict ST monad. If disabled these
+ instances are only exported when base &gt;= 4.4. If enabled it is required that
+ the transformer-base package exports MonadBase instances for ST. It will do
+ this by default.</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">basvandijk/monad-control</remote-id>
+ </upstream>
+</pkgmetadata>