Hoogle Search
Within LTS Haskell 24.4 (ghc-9.10.2)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
-
ListT done right A correct implementation of the list monad-transformer. Useful for basic streaming.
-
Log-domain arithmetic This package provides log-domain floats, doubles and complex numbers.
-
Compose MIME email messages. Hackage documentation generation is not reliable. For up to date documentation, please see: http://www.stackage.org/package/mime-mail.
-
Type class for monads which carry the notion of the current time. MonadTime type class for monads which carry the notion of the current time.
-
A low-level MySQL client library. A low-level client library for the MySQL database, implemented as bindings to the C mysqlclient API. Important licensing note: This library is BSD-licensed under the terms of the MySQL FOSS License Exception http://www.mysql.com/about/legal/licensing/foss-exception/. Since this library links against the GPL-licensed mysqlclient library, a non-open-source application that uses it may be subject to the terms of the GPL.
-
Arithmetic of natural numbers A search for terms like arithmetic and natural on hackage reveals no shortage of libraries for handling the arithmetic of natural numbers. How is this library any different some of the others? It has a particular purpose: providing a foundation on top on which other libraries may define types indexed by sizes. This uses GHC's non-inductively-defined GHC.TypeNats.Nat. As a rule, this does not use unsafeCoerce internally anywhere. Perhaps the most direct competitor to `natural-arithmetic` is a typechecker plugin like type-nat-solver. The big difference is that `type-nat-solver` can really only be used in application code, not in library code. This is because libraries should not require the presence of typechecker plugins. Technically, they can (you could document it), but many developers will not use libraries that have unusual install procedures like this. This library, in places, requires users to use the TypeApplications language extension. This is done when a number is only need at the type level (without a runtime witness). This library uses a non-minimal core, providing redundant primitives in Arithmetic.Lt and Arithmetic.Lte. This is done in the interest of making it easy for user to assemble proofs. Recall that proof assembly is done by hand rather than by an SMT solver, so removing some tediousness from this is helpful to users. This library provides left and variants variants of several functions. For example, Arithmetic.Lte provides both substituteL and substituteR. This is only done when there are two variants of a function. For substitution, this is the case because we have `b = c, a ≤ b ==> a ≤ c` and `a = c, a ≤ b ==> c ≤ b`. So, we provide both substituteL and substituteR. However, for addition of inequalities, we have four possible variants: `a ≤ b, c ≤ d ==> a + c ≤ b + d`, `a ≤ b, c ≤ d ==> c + a ≤ b + d`, `a ≤ b, c ≤ d ==> a + c ≤ d + b`, `a ≤ b, c ≤ d ==> c + a ≤ d + b`. Consequently, we only provide a single plus function, and users must use Arithmetic.Plus.commutative to further manipulate the inequality. Here are the proof-manipulation vocabulary used by this library. Many of these terms are not standard, but we try to be consistent in this library:
- Weaken: Increase an upper bound without changing the bounded value
- Increment: Increase an upper bound along with the bounded value
- Decrement: Decrease an upper bound along with the bounded value
- Substitute: Replace a number with an equal number
-
Examine values for unexpected thunks Long lived application data typically should not contain any thunks. This library can be used to examine values for unexpected thunks, which can then be used in assertions. This can be invaluable in avoiding memory leaks, or tracking down existing ones.
-
Support for OO-like prototypes Support for OO-like prototypes
-
Optics as an abstract interface This package makes it possible to define and use Lenses, Traversals, Prisms and other optics, using an abstract interface. See the main module Optics for the documentation. This is the "batteries-included" variant with many dependencies; see the optics-core package and other optics-* dependencies if you need a more limited dependency footprint.
-
Set- and Map-like types that remember the order elements were inserted Set- and Map-like types that remember the order elements were inserted