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.

  1. package mime-types

    Basic mime-type handling types and functions API docs and the README are available at http://www.stackage.org/package/mime-types.

  2. package monoid-subclasses

    Subclasses of Monoid A hierarchy of subclasses of Monoid together with their instances for all data structures from base, containers, and text packages.

  3. package random-shuffle

    Random shuffle implementation. Random shuffle implementation, on immutable lists. Based on `perfect shuffle' implementation by Oleg Kiselyov, available on http://okmij.org/ftp/Haskell/perfect-shuffle.txt

  4. package retry

    Retry combinators for monadic actions that may fail This package exposes combinators that can wrap arbitrary monadic actions. They run the action and potentially retry running it with some configurable delay for a configurable number of times. The purpose is to make it easier to work with IO and especially network IO actions that often experience temporary failure and warrant retrying of the original action. For example, a database query may time out for a while, in which case we should hang back for a bit and retry the query instead of simply raising an exception.

  5. package th-orphans

    Orphan instances for TH datatypes Orphan instances for TH datatypes. In particular, instances for Ord and Lift, as well as a few missing Show / Eq. These instances used to live in haskell-src-meta, and that's where the version number started.

  6. package Cabal-syntax

    A library for working with .cabal files This library provides tools for reading and manipulating the .cabal file format.

  7. package base64

    A modern Base64 library A performant, featureful RFC 4648 and 7049-compliant Base64 implementation

  8. package bytes

    Sharing code for serialization between binary and cereal Sharing code for serialization between binary and cereal.

  9. package comfort-array

    Arrays where the index type is a function of the shape type Arrays from the basic array package are already very powerful compared with arrays in other languages. They may have any number of dimensions, are type safe and defined in a uniform way using the Ix class with free choice of the lower bounds (0, 1, or whatever you like). This package goes one step further: The shape and the index type are different, but the index type is a type function of the shape type. This offers much more flexibility and type safety. Some Shape example types are:

    • Range: Allow dynamic choice of lower and upper array bounds such as in the Arrays from the array package. You can combine it with other shapes in other dimensions. It allows you to describe the bounds of each dimension individually.
    • Shifted: Describe array bounds by start index and length. It is sometimes more natural to use these parameters. E.g. a non-negative index type like Word cannot represent -1 and thus cannot encode an empty range starting with index 0.
    • ZeroBased, OneBased: Arrays with fixed lower bound, either 0 or 1, respectively.
    • Cyclic: Indices with wrap-around semantics.
    • Zero, (): Arrays with fixed size 0 or 1, respectively.
    • Enumeration: Arrays with indices like LT, EQ, GT and a shape of fixed size.
    • NestedTuple: Arrays with shapes that are compatible to nested tuples like (a,(a,a)) and indices like fst and fst.snd.
    • (::+): The Append type constructor allows to respresent block arrays, e.g. block matrices. It also allows to represent non-empty arrays via ()::+sh.
    • Set: Use an arbitrary ordered set as index set.
    • Map: Concatenate a set of shapes. In a higher dimensional array it can be used for block matrices with a dynamic number of blocks but block sizes of the same shape type.
    • Triangular: A 2D array with the shape of a lower or upper triangular matrix.
    • Simplex: Simplices of any dimension, where the dimension is encoded in the type. An index is a tuple of monotonic ordered sub-indices.
    • Square: A 2D array where both dimensions always have equal size.
    • Cube: A 3D array where all three dimensions always have equal size.
    • Tagged: Statically distinguish shapes and indices that are isomorphic.
    With our Array type you can perform
    • Fast Linear Algebra using the packages comfort-blas and lapack. The lapack package defines even more fancy shapes like tall rectangular matrices, triangular matrices and banded matrices.
    • Fast Fourier Transforms using the package comfort-fftw
    • Fast Linear Programming using the packages comfort-glpk, coinor-clp, highs-lp
    • Efficient Array Processing via LLVM Just-In-Time code generation using the package knead.
    See also comfort-graph for a Graph data structure, with non-Int node identifiers and flexible edge types.

  10. package generic-arbitrary

    Generic implementation for QuickCheck's Arbitrary Generic implementations of methods of the Arbitrary class from the QuickCheck library. The approach taken here can lead to diverging instances for mutually recursive types but is safe for simply recursive ones and guarantees flat distribution for constructors of sum-types.

Page 26 of many | Previous | Next