Hoogle Search
Within LTS Haskell 24.48 (ghc-9.10.3)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
-
Mock library for test in Haskell. mockcat is a small mocking / stubbing DSL for Haskell tests. Features:
- Describe expectations with left-to-right pipelines: `arg |> ... |> result`
- Generate typeclass mocks via Template Haskell (makeMock, makePartialMock)
- Create standalone function stubs (createStubFn, constant mocks)
- Flexible return behaviour: vary by argument or occurrence (including identical args later)
- Optional per-call variation for `IO a` results
- Concurrency-safe counting and explicit lazy semantics (unevaluated results are not recorded)
- Simple verification helpers (apply count predicates, ordering checks)
- Partial adoption: mock only selected methods; no hidden global state
-
Samples of moffy Please see the README on GitHub at https://github.com/YoshikuniJujo/moffy-samples#readme
package
moffy-samples-gtk3-run Package to run moffy samples - GTK3 version Please see the README on GitHub at https://github.com/YoshikuniJujo/moffy-samples-gtk3-run#readme
package
monad-control-identity Stronger classes than monad-control This package defines the type class MonadBaseControlIdentity, which is very similar to MonadBaseControl from monad-control. The difference is, that MonadBaseControlIdentity instances are only valid, when there is no monadic state. This results in simpler type signatures to lift values in contravariant positions.
-
Coroutine monad transformer for suspending and resuming monadic computations This package defines a monad transformer, applicable to any monad, that allows the monadic computation to suspend and to be later resumed. The transformer is parameterized by an arbitrary functor, used to store the suspended computation's resumption.
-
Monads with an unsaveInterleaveIO-like operation. A type class for monads that have an "unsafeInterleave" operation. Instances are provided for IO and both strict and lazy ST.
-
Utilities for composing loggers, coloring output, plus a few orphan instances. Build composable logging backends for monad-logger. This package includes a few composable backends (including a posix syslog backend) and some extras like log output coloring utilities.
-
Memoization monad transformer Memoization monad transformer supporting most of the standard monad transformers and a range of memoization cache types: from default pure maps to extremely fast mutable vectors To add memoization behaviour to a monadic function: 1) Add Control.Monad.Memo.memo combinator at the point when memoization is required (i.e. recursive call)
import Control.Monad.Memo fibm 0 = return 0 fibm 1 = return 1 fibm n = do n1 <- memo fibm (n-1) n2 <- memo fibm (n-2) return (n1+n2)
2) Use appropriate *eval* or *run* function to evaluate resulting MonadMemo monad:startEvalMemo (fibm 100)
See detailed description and examples: Control.Monad.Memo -
A convenient wrapper around EKG metrics A convenient wrapper for collecting application metrics. Please see the README.md for more information.
-
The best ideas in monad-related classes and types. Monadology is intended as a collection of the best ideas in monad-related classes and types, with a focus on correctness and elegance, and theoretical understanding, rather than practical performance.