Hoogle Search

Within LTS Haskell 24.41 (ghc-9.10.3)

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

  1. package autodocodec-yaml

    Autodocodec interpreters for yaml Autodocodec interpreters for yaml

  2. package base-unicode-symbols

    Unicode alternatives for common functions and operators This package defines new symbols for a number of functions, operators and types in the base package. All symbols are documented with their actual definition and information regarding their Unicode code point. They should be completely interchangeable with their definitions. For further Unicode goodness you can enable the UnicodeSyntax language extension [1]. This extension enables Unicode characters to be used to stand for certain ASCII character sequences, i.e. → instead of ->, ∀ instead of forall and many others. Original idea by Péter Diviánszky. [1] https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html#unicode-syntax

  3. package binary-conduit

    data serialization/deserialization conduit library The binary-conduit package. Allow binary serialization using iterative conduit interface.

  4. package binary-instances

    Orphan instances for binary `binary-instances` defines orphan instances for types in some popular packages.

  5. package binary-orphans

    Compatibility package for binary; provides instances This package provides instances defined in later versions of binary package Prior version 1 this packages provided instances for other packages. That functionality is moved to binary-instances package.

  6. package bitvec

    Space-efficient bit vectors A newtype over Bool with a better Vector instance: 8x less memory, up to 3500x faster. The vector package represents unboxed arrays of Bools spending 1 byte (8 bits) per boolean. This library provides a newtype wrapper Bit and a custom instance of an unboxed Vector, which packs bits densely, achieving an 8x smaller memory footprint. The performance stays mostly the same; the most significant degradation happens for random writes (up to 10% slower). On the other hand, for certain bulk bit operations Vector Bit is up to 3500x faster than Vector Bool.

    Thread safety

    • Data.Bit is faster, but writes and flips are not thread-safe. This is because naive updates are not atomic: they read the whole word from memory, then modify a bit, then write the whole word back. Concurrently modifying non-intersecting slices of the same underlying array may also lead to unexpected results, since they can share a word in memory.
    • Data.Bit.ThreadSafe is slower (usually 10-20%), but writes and flips are thread-safe. Additionally, concurrently modifying non-intersecting slices of the same underlying array works as expected. However, operations that affect multiple elements are not guaranteed to be atomic.

    Similar packages

    • bv and bv-little do not offer mutable vectors.
    • array is memory-efficient for Bool, but lacks a handy Vector interface and is not thread-safe.

  7. package blas-ffi

    Auto-generated interface to Fortran BLAS BLAS is a package for efficient basic linear algebra operations. The reference implementation is written in FORTRAN. This is an automatically generated low-level interface. We provide bindings to functions of all variants for Float, Double, Complex Float and Complex Double. We do not use TemplateHaskell nor HSC nor CHS, but instead Haskell 98 code generated by the custom lapack-ffi-tools package.

  8. package blaze-textual

    Fast rendering of common datatypes A library for efficiently rendering Haskell datatypes to bytestrings. Note: if you use GHCi or Template Haskell, please see the README file for important details about building this package, and other packages that depend on it: https://github.com/swamp-agr/blaze-textual#readme

  9. package bmp

    Read and write uncompressed BMP image files. Read and write uncompressed BMP image files. 100% robust Haskell implementation.

  10. package bound

    Making de Bruijn Succ Less We represent the target language itself as an ideal monad supplied by the user, and provide a Scope monad transformer for introducing bound variables in user supplied terms. Users supply a Monad and Traversable instance, and we traverse to find free variables, and use the Monad to perform substitution that avoids bound variables. Slides describing and motivating this approach to name binding are available online at: http://www.slideshare.net/ekmett/bound-making-de-bruijn-succ-less The goal of this package is to make it as easy as possible to deal with name binding without forcing an awkward monadic style on the user. With generalized de Bruijn term you can lift whole trees instead of just applying succ to individual variables, weakening the all variables bound by a scope and greatly speeding up instantiation. By giving binders more structure we permit easy simultaneous substitution and further speed up instantiation.

Page 61 of many | Previous | Next