Hoogle Search

Within LTS Haskell 24.28 (ghc-9.10.3)

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

  1. package clash-prelude

    Clash: a functional hardware description language - Prelude library Clash is a functional hardware description language that borrows both its syntax and semantics from the functional programming language Haskell. The Clash compiler transforms these high-level descriptions to low-level synthesizable VHDL, Verilog, or SystemVerilog. Features of Clash:

    • Strongly typed, but with a very high degree of type inference, enabling both safe and fast prototyping using concise descriptions.
    • Interactive REPL: load your designs in an interpreter and easily test all your component without needing to setup a test bench.
    • Higher-order functions, with type inference, result in designs that are fully parametric by default.
    • Synchronous sequential circuit design based on streams of values, called Signals, lead to natural descriptions of feedback loops.
    • Support for multiple clock domains, with type safe clock domain crossing.
    This package provides:
    • Prelude library containing datatypes and functions for circuit design
    To use the library: A preliminary version of a tutorial can be found in Clash.Tutorial, for a general overview of the library you should however check out Clash.Prelude. Some circuit examples can be found in Clash.Examples.

  2. package classy-prelude-conduit

    classy-prelude together with conduit functions See docs and README at http://www.stackage.org/package/classy-prelude-conduit

  3. package colonnade

    Generic types and functions for columnar encoding and decoding The colonnade package provides a way to talk about columnar encodings and decodings of data. This package provides very general types and does not provide a way for the end-user to actually apply the columnar encodings they build to data. Most users will also want to one a companion packages that provides (1) a content type and (2) functions for feeding data into a columnar encoding:

  4. package combinatorial

    Count, enumerate, rank and unrank combinatorial objects Counting, enumerating, ranking and unranking of combinatorial objects. Well-known and less well-known basic combinatoric problems and examples. The functions are not implemented in obviously stupid ways, but they are also not optimized to the maximum extent. The package is plain Haskell 98. See also:

    • exact-combinatorics: Efficient computations of large combinatoric numbers.
    • combinat: Library for a similar purpose with a different structure and selection of problems.

  5. package comfort-array-shape

    Additional shape types for the comfort-array package Some extra array shape types additional to the ones in the comfort-array package. These require some more package dependencies and use type-encoded natural numbers.

    • Static.ZeroBased: Like Shape.ZeroBased but with type-encoded number as size.
    • Simplex: Simplices of any dimension, where the dimension is encoded in the type. Only a private module for demonstration. Production-ready implementation in comfort-array.

  6. package compact

    Non-GC'd, contiguous storage for immutable data structures This package provides user-facing APIs for working with "compact regions", which hold a fully evaluated Haskell object graph. These regions maintain the invariant that no pointers live inside the struct that point outside it, which ensures efficient garbage collection without ever reading the structure contents (effectively, it works as a manually managed "oldest generation" which is never freed until the whole is released). This package is currently highly experimental, but we hope it may be useful to some people. It is GHC 8.2 and later only. The bare-bones library that ships with GHC is ghc-compact.

  7. package componentm

    Monad for allocation and cleanup of application resources This library allows you to allocate resources with clean up strategies when initializing your application. It then provides a Monadic interface to compose multiple resources without having to deal with cleanup operations explicitely.

  8. package concise

    Utilities for Control.Lens.Cons concise provides a handful of functions to extend what you can do with Control.Lens.Cons.

  9. package concurrency

    Typeclasses, functions, and data types for concurrency and STM. A typeclass abstraction over much of Control.Concurrent (and some extras!). If you're looking for a general introduction to Haskell concurrency, you should check out the excellent Parallel and Concurrent Programming in Haskell, by Simon Marlow. If you are already familiar with concurrent Haskell, just change all the imports from Control.Concurrent.* to Control.Concurrent.Classy.* and fix the type errors.

  10. package concurrent-extra

    Extra concurrency primitives The concurrent-extra package offers among other things the following selection of synchronisation primitives:

    • Broadcast: Wake multiple threads by broadcasting a value.
    • Event: Wake multiple threads by signalling an event.
    • Lock: Enforce exclusive access to a resource. Also known as a binary semaphore or mutex. The package additionally provides an alternative that works in the STM monad.
    • RLock: A lock which can be acquired multiple times by the same thread. Also known as a reentrant mutex.
    • ReadWriteLock: Multiple-reader, single-writer locks. Used to protect shared resources which may be concurrently read, but only sequentially written.
    • ReadWriteVar: Concurrent read, sequential write variables.
    Please consult the API documentation of the individual modules for more detailed information. This package was inspired by the concurrency libraries of Java and Python.

Page 107 of many | Previous | Next