Hoogle Search
Within LTS Haskell 24.34 (ghc-9.10.3)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
-
Reals in the interval [0,1), as machine words Please see the README on GitHub at https://github.com/jcranch/Mantissa#readme
-
MonadPrompt, implementation & examples "Prompting" monad that allows splitting the description of a computation from the implementation of the effects used in that computation. http://www.haskell.org/pipermail/haskell-cafe/2008-January/038301.html
-
NanoID generator Library and CLI tool for NanoID generation
-
Efficient ordered (by popcount) enumeration of bits This library provides efficient methods to enumerate all elements of a set in order of the population count, or the ordered enumerations of the elements of the powerset of a set. First, the empty set, then all 1-element sets, all 2-element sets, etc. Such enumerations are important for algorithms over unordered data sets. Examples include the travelling salesman problem and the closely related Hamiltonian path problem.
-
Parsec combinators for more complex objects. Combined parsers for complex objects: floating point, and integral numbers.
-
Quasiquotations for a python like interpolated string formatter Quasiquotations for a python like interpolated string formatter.
-
Write to and read from ByteStrings maintaining internal memory references Read, Show and Binary instances do not check for internal data references to the same address. As a result, the data is duplicated when serialized. This is a waste of space in the filesystem and also a waste of serialization time. but the worst consequence is that, when the serialized data is read, it allocates multiple copies for the same object when referenced multiple times. Because multiple referenced data is very typical in a pure language such is Haskell, this means that the resulting data loose the beatiful economy of space and processing time that referential transparency permits. In this release: Compatibility with older versions of bytestring that have no toStrict call deserialization is much, much faster by using the stringsearch package See Data.RefSerialize for details
-
rounding variants floor, ceil and truncate for floating point operations +-*/√… There is an exact definition for +-*/√ over the real numbers in mathematics. However for performant, flexible and ergonomic numerical computations one ought to restrict oneself only having a finite subset of rational numbers. The most common data type for such use cases is the single and double floating point format. Combining two real floating point numbers by an operator yield a mathematical and exactly defined result. This exact result might not be representable as a floating point number. One has to round. The most common way of rounding is rounding to the nearest representable float. This rounding variant helps to minimize the accumulation of rounding errors over several floating point operations. Other rounding variants floor, ceil and truncate are useful for computing error bounds of chained floating point instructions. floor chooses the lesser neighbor of the representable results. ceil chooses the greater float. truncate chooses the float that is closest to zero. This library implements the floating point instructions in pure hasekell. They do not use `c++` with fegetround for example. That way they can be used in the WebAssembly backend of ghc since WebAssembly does neither support rounding variants nor fegetround. This module is supposed to expose the fastest possible clean interface of rounding variants. Should there ever be some compiler intrinsics for rounding variants then these shall be used in a future version. Internally the module heavily utilizes the Rational data type. First the operations result is calculated twice. One time exact with the help of Rational. Then there is also a round-to-nearest-even-on-tie result calculated. After that both numbers are compared to investigate if the round-to-nearest-even-on-tie result was rounded in the correct direction by chance. Should that not be the case the other neighbor is determined and returned. Every combination of number type (Float, Double) and operator (+,-,*,/,√,id) is exported separately. The exported functions are supposed to be useful for interval arithmetic.
-
Fonts from the SVG-Font format Native font support for the diagrams framework (https://diagrams.github.io/). Note that this package can be used with any diagrams backend, not just the SVG backend. The SVG-font format is easy to parse and was therefore chosen for a font library completely written in Haskell. You can convert your own font to SVG with http://fontforge.github.io/, or use the included LinLibertine and Bitstream fonts. Features:
- Complete implementation of the features that Fontforge produces (though not the complete SVG format)
- Kerning (i.e. the two characters in "VA" are closer than the characters in "VV")
- Unicode
- Ligatures
-
Base types and classes for statistics, sciences and humanities This library provides a set of basic types and classes for statistics, sciences, and the humanities.