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.
-
Multi-precision ball (interval) arithmetic Please see the README on GitHub at https://github.com/michalkonecny/aern2/#readme
-
Extract and apply patches to JSON documents. This is a small library for working with changes to JSON documents. It includes a library and two command-line executables in the style of the diff(1) and patch(1) commands available on many systems.
-
Easily consume JSON data on-demand with type-safety Parse JSON data easily and safely without defining new data types. Useful for deeply nested JSON data, which is difficult to parse using the default FromJSON instances.
-
Fast Aho-Corasick string searching An efficient implementation of the Aho-Corasick string searching algorithm.
-
A library for algebraic graph construction and transformation Alga is a library for algebraic construction and manipulation of graphs in Haskell. See this paper for the motivation behind the library, the underlying theory and implementation details. The top-level module Algebra.Graph defines the main data type for algebraic graphs Graph, as well as associated algorithms. For type-safe representation and manipulation of non-empty algebraic graphs, see Algebra.Graph.NonEmpty. Furthermore, algebraic graphs with edge labels are implemented in Algebra.Graph.Labelled. The library also provides conventional graph data structures, such as Algebra.Graph.AdjacencyMap along with its various flavours:
- adjacency maps specialised to graphs with vertices of type Int (Algebra.Graph.AdjacencyIntMap),
- non-empty adjacency maps (Algebra.Graph.NonEmpty.AdjacencyMap),
- adjacency maps for undirected bipartite graphs (Algebra.Graph.Bipartite.AdjacencyMap),
- adjacency maps with edge labels (Algebra.Graph.Labelled.AdjacencyMap),
- acyclic adjacency maps (Algebra.Graph.Acyclic.AdjacencyMap),
-
Binding to the ALSA Library API (PCM audio). This package provides access to ALSA realtime audio signal input and output. For MIDI support see alsa-seq.
-
Append-only cooperative agreement
-
Package implementing core logic for refreshing of expiring data. This package can be used for refreshing of expiring data according to a user-provided action. Using callbacks, the user can decide how she or he would like to be informed about data refreshing.
-
Mutable counters that can be modified with atomic operatinos This package defines Counter type that can be safely modified concurrently from multiple threads. The type supports only few operations, namely read, write, cas (compare and swap), add, subtract and a few bitwise ones like or, and xor. Most common use case is having a shared counter that multiple threads increment. Another potential use case is lightweight locks.
-
Atomically write to a file Atomically write to a file on POSIX-compliant systems while preserving permissions. On most Unix systems, mv is an atomic operation. This makes it simple to write to a file atomically just by using the mv operation. However, this will destroy the permissions on the original file. This library does the following to preserve permissions while atomically writing to a file:
- If an original file exists, take those permissions and apply them to the temp file before mving the file into place.
- If the original file does not exist, create a following with default permissions (based on the currently-active umask).
- Ruby on Rails includes a similar method called atomic_write
- Chef includes atomic update functionality
- There is a python library for atomically updating a file
import System.AtomicWrite.Writer.ByteString
Then you can use the atomicWriteFile function that accepts a FilePath and a ByteString, e.g.:atomicWriteFile myFilePath myByteString