Hoogle Search
Within LTS Haskell 24.5 (ghc-9.10.2)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
-
A platform independent entropy source A mostly platform independent method to obtain cryptographically strong entropy (RDRAND, urandom, CryptAPI, and patches welcome) Users looking for cryptographically strong (number-theoretically sound) PRNGs should see the DRBG package too.
-
Generic programming library for generalised deriving. This package provides functionality for generalising the deriving mechanism in Haskell to arbitrary classes. It was first described in the paper:
- A generic deriving mechanism for Haskell. Jose Pedro Magalhaes, Atze Dijkstra, Johan Jeuring, and Andres Loeh. Haskell'10.
- Generics.Deriving.Base defines the core functionality for GHC generics, including the Generic(1) classes and representation data types. On modern versions of GHC, this simply re-exports GHC.Generics from base. On older versions of GHC, this module backports parts of GHC.Generics that were not included at the time, including Generic(1) instances.
- Generics.Deriving.TH implements Template Haskell functionality for deriving instances of Generic(1).
- Educational code: in order to provide examples of how to define and use GHC.Generics-based defaults, this library offers a number of modules which define examples of type classes along with default implementations for the classes' methods. Currently, the following modules are provided: Generics.Deriving.Copoint, Generics.Deriving.ConNames, Generics.Deriving.Enum, Generics.Deriving.Eq, Generics.Deriving.Foldable, Generics.Deriving.Functor, Generics.Deriving.Monoid, Generics.Deriving.Semigroup, Generics.Deriving.Show, Generics.Deriving.Traversable, and Generics.Deriving.Uniplate.
- Generics.Deriving.Default provides newtypes that allow leveraging the generic defaults in this library using the DerivingVia GHC language extension.
- Generics.Deriving re-exports Generics.Deriving.Base, Generics.Deriving.Default, and a selection of educational modules.
-
Parse source to template-haskell abstract syntax. The translation from haskell-src-exts abstract syntax to template-haskell abstract syntax isn't 100% complete yet.
-
Linear Algebra Types and combinators for linear algebra on free vector spaces
-
List-like structures with static restrictions on the number of elements We provide the data type NonEmpty that allows to store a list-like structure with at least or exactly n elements, where n is fixed in the type in a kind of Peano encoding and is usually small. The datatype is intended to increase safety by making functions total that are partial on plain lists. E.g. on a non-empty list, head and tail are always defined. There are more such data types like Optional and Empty. Together with NonEmpty you can define a list type for every finite set of admissible list lengths. The datatype can be combined with Lists, Sequences and Sets (from the containers package). The package needs only Haskell 98. Similar packages:
- semigroups, semigroupoids: restricted to lists, minimum number of elements: 1, provides more type classes tailored to the use of non-empty lists.
- NonEmptyList: restricted to lists, minimum number of elements: 1
- NonEmpty: restricted to lists, minimum number of elements: 1, designed for unqualified use of identifiers
- Cardinality:NeverEmptyList
- mono-traversable:Data.MinLen: allows to specify a minimum number of elements using type families and works also for monomorphic data structures like ByteString
- http://www.haskell.org/haskellwiki/Non-empty_list
- Stream: Lists that contain always infinitely many elements.
- fixed-length: Uses the data structure of this package and defines a closed-world class for fixed-length lists and an according index type.
- fixed-list: Uses the same data structure as this package but is intended for fixing the number of elements in a list. Requires multi-parameter type classes with functional dependencies.
-
Parallel programming library This package provides a library for parallel programming. For documentation, start from the Control.Parallel.Strategies module below. For more tutorial documentation, see the book Parallel and Concurrent Programming in Haskell. To understand the principles behind the library, see Seq no more: Better Strategies for Parallel Haskell.
-
Prevent or capture writing to stdout and other handles. Prevent or capture writing to stdout, stderr, and other handles.
-
Run external processes, with strong typing of streams Please see the tutorial at https://github.com/fpco/typed-process#readme
-
Random-number generation monad. Support for computations which consume random values.
-
The Wadler/Leijen Pretty Printer for colored ANSI terminal output This is a pretty printing library based on Wadler's paper "A Prettier Printer". It has been enhanced with support for ANSI terminal colored output using the ansi-terminal package.