Hoogle Search
Within LTS Haskell 24.35 (ghc-9.10.3)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
-
Pandoc document conversion as an HTTP servant-server Pandoc-server provides pandoc's document conversion functions in an HTTP server.
-
MonadThrow behaviour for Pandoc. Adds MonadThrow runners for PandocPure and PandocIO.
-
Combinators for executing IO actions in parallel on a thread pool. This package provides combinators for sequencing IO actions onto a thread pool. The thread pool is guaranteed to contain no more unblocked threads than a user-specified upper limit, thus minimizing contention. Furthermore, the parallel combinators can be used reentrantly - your parallel actions can spawn more parallel actions - without violating this property of the thread pool. The package is inspired by the thread http://thread.gmane.org/gmane.comp.lang.haskell.cafe/56499/focus=56521. Thanks to Neil Mitchell and Bulat Ziganshin for some of the code this package is based on.
-
A quick-and-dirty, low-friction benchmark tool with immediate feedback A quick-and-dirty, low-friction benchmark tool with immediate feedback.
-
Parsec combinators for parsing Haskell numeric types. Please see README.md
-
A composable exception handler If you have ever had to compose an exception handler for exceptions of multiple types, you know how frustraiting it can get. This library approaches this issue by providing a composable exception handler type, which has instances of the standard classes. Composability means that you can define custom partial handlers and reuse them by composing other handlers from them. Here is an example of a composable partial handler, which only defines what to do in case of a ThreadKilled exception (the code uses the LambdaCase extension):
ignoreThreadKilled :: PartialHandler () ignoreThreadKilled = typed $ \case ThreadKilled -> Just $ return () _ -> Nothing
Here's how you can construct a handler of type SomeException -> IO () using this library:totalizeRethrowing $ ignoreThreadKilled <> onAlreadyExists (putStrLn "Already exists")
and here is how you would do it traditionally (with the MultiWayIf extension):\e -> if | Just ThreadKilled <- fromException e -> return () | Just e' <- fromException e, isAlreadyExistsError e' -> putStrLn "Already exists" | otherwise -> throwIO e
Putting all the syntactic trickery to make it shorter aside, this handler is a monolith block of code. Unlike with PartialHandler you can neither decompose it into simpler ones, nor compose it with other handlers to form a more complex one. -
Binary instance for Path. Binary instance for Path.
-
ToDhall and FromDhall instances for Path. ToDhall and FromDhall instances for Path.
-
Enumeration of common filetype extensions for use with the path library. Enumeration of common filetype extensions for use with the path library, add variants for adding an extension to a path and with variants for replacing an existing extension.
-
Handful of simple utility functions for the path library. Handful of simple utility functiosn for the path library.