Hoogle Search

Within LTS Haskell 24.35 (ghc-9.10.3)

Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.

  1. package vec

    Vec: length-indexed (sized) list This package provides length-indexed (sized) lists, also known as vectors.

    data Vec n a where
    VNil  :: Vec 'Nat.Z a
    (:::) :: a -> Vec n a -> Vec ('Nat.S n) a
    
    The functions are implemented in four flavours:
    • naive: with explicit recursion. It's simple, constraint-less, yet slow.
    • pull: using Fin n -> a representation, which fuses well, but makes some programs hard to write. And
    • data-family: which allows lazy pattern matching
    • inline: which exploits how GHC dictionary inlining works, unrolling recursion if the size of Vec is known statically.
    As best approach depends on the application, vec doesn't do any magic transformation. Benchmark your code. This package uses fin, i.e. not GHC.TypeLits, for indexes. For lens or optics support see vec-lens and vec-optics packages respectively. See Hasochism: the pleasure and pain of dependently typed haskell programming by Sam Lindley and Conor McBride for answers to how and why. Read APLicative Programming with Naperian Functors by Jeremy Gibbons for (not so) different ones.

    Similar packages

    • linear has V type, which uses Vector from vector package as backing store. Vec is a real GADT, but tries to provide as many useful instances (upto lens).
    • vector-sized Great package using GHC.TypeLits. Current version (0.6.1.0) uses finite-typelits and Int indexes.
    • sized-vector depends on singletons package. vec isn't light on dependencies either, but try to provide wide GHC support.
    • fixed-vector
    • sized also depends on a singletons package. The Sized f n a type is generalisation of linear's V for any ListLike.
    • clash-prelude is a kitchen sink package, which has CLaSH.Sized.Vector module. Also depends on singletons.

  2. package vector-bytes-instances

    Serial (from the bytes package) for Vector (from the vector package) Serial (from the bytes package) for Vector (from the vector package) Based on the original BSD3-licensed work by Don Stewart in the vector-binary-instances library.

  3. package vector-fftw

    A binding to the fftw library for one-dimensional vectors. This package provides bindings to the fftw library for one-dimensional vectors. It provides both high-level functions and more low-level manipulation of fftw plans. We provide three different modules which wrap fftw's operations:

    In addition, we provide .Multi modules for each of these providing multi-dimensional transforms.

  4. package vector-mmap

    Memory map immutable and mutable vectors Memory map immutable and mutable vectors.

  5. package vector-quicksort

    Fast and flexible quicksort implementation for mutable vectors Quicksort implementation developed with performance in mind. Has good default single-threaded sort and provides parallelised versions that are actually faster than the single-threaded version. Users can define new parallelisation methods. Good starting point:

    import Data.Vector.Algorithms.Quicksort qualified as Quick
    
    Then call as
    Quick.sort xs
    

  6. package vector-rotcev

    Vectors with O(1) reverse A wrapper for an arbitrary Vector with O(1) reverse. Instead of creating a copy, it just flips a flag, which inverts indexing. Imagine it as a vector with a switch between little-endianness and big-endianness.

  7. package vessel

    Functor-parametric containers A dependently-typed key-value data structure that allows for storage of both "queries", (wherein keys are stored along with reasons for selecting the items or counts of the number of times something has been selected), as well as the responses to those queries, in which the type of the key additionally determines the type of the response

  8. package vformat-time

    Extend vformat to time datatypes Please see http://hackage.haskell.org/package/vformat-time

  9. package vivid-supercollider

    Implementation of SuperCollider server specifications An interface-agnostic implementation of specs for SuperCollider server types and commands. - Server Command Reference - Synth Definition File Format Note this is an in-progress (incomplete) implementation. Currently only the server commands needed for the "vivid" package are supported.

  10. package vty-unix

    Unix backend for Vty This package provides Unix terminal support for Vty.

Page 263 of many | Previous | Next