Hoogle Search
Within LTS Haskell 24.45 (ghc-9.10.3)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
-
Types for Casa Types for Casa (Content-Addressable Storage Archive). See https://casa.stackage.org/
-
A converter for spinal, snake and camel cases A parser-based converter library for spinal, snake and camel cases.
-
Megaparsec parser of CSV files that plays nicely with Cassava Megaparsec parser of CSV files that plays nicely with Cassava.
-
A library for encoding JSON as CBOR This package implements the bijection between JSON and CBOR defined in the CBOR specification, RFC 7049.
-
Exact real arithmetic using Centred Dyadic Approximations Please see https://github.com/michalkonecny/cdar/tree/mBound#readme
-
A library for writing CGI programs This is a Haskell library for writing CGI programs.
-
Some extra kit for Chans Please see the README on Github at https://github.com/athanclark/chan#readme
-
Lazy infinite streams with O(1) indexing and applications for memoization There are plenty of memoizing libraries on Hackage, but they usually fall into two categories:
- Store cache as a flat array, enabling us to obtain cached values in O(1) time, which is nice. The drawback is that one must specify the size of the array beforehand, limiting an interval of inputs, and actually allocate it at once.
- Store cache as a lazy binary tree. Thanks to laziness, one can freely use the full range of inputs. The drawback is that obtaining values from a tree takes logarithmic time and is unfriendly to CPU cache, which kinda defeats the purpose.
- memoization of recursive functions and recurrent sequences,
- memoization of functions of several, possibly signed arguments,
- efficient memoization of boolean predicates.
-
A high-performance time library Chronos is a performance-oriented time library for Haskell, with a straightforward API. The main differences between this and the time library are: * Chronos uses machine integers where possible. This means that time-related arithmetic should be faster, with the drawback that the types are incapable of representing times that are very far in the future or the past (because Chronos provides nanosecond, rather than picosecond, resolution). For most users, this is not a hindrance. * Chronos provides ToJSON/FromJSON instances for serialisation. * Chronos provides Unbox instances for working with unboxed vectors. * Chronos provides Prim instances for working with byte arrays/primitive arrays. * Chronos uses normal non-overloaded haskell functions for encoding and decoding time. It provides attoparsec parsers for both Text and ByteString. Additionally, Chronos provides functions for encoding time to Text or ByteString. The http://hackage.haskell.org/package/time time> library accomplishes these with the Data.Time.Format module, which uses UNIX-style datetime format strings. The approach taken by Chronos is faster and catches more mistakes at compile time, at the cost of being less expressive.
-
Fast AES cipher implementation with advanced mode of operations Fast AES cipher implementation with advanced mode of operations. The modes of operations available are ECB (Electronic code book), CBC (Cipher block chaining), CTR (Counter), XTS (XEX with ciphertext stealing), GCM (Galois Counter Mode). The AES implementation uses AES-NI when available (on x86 and x86-64 architecture), but fallback gracefully to a software C implementation. The software implementation uses S-Boxes, which might suffer for cache timing issues. However do notes that most other known software implementations, including very popular one (openssl, gnutls) also uses similar implementation. If it matters for your case, you should make sure you have AES-NI available, or you'll need to use a different implementation.