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.
-
A generic interface for cryptographic operations A generic interface for cryptographic operations (hashes, ciphers, randomness). Maintainers of hash and cipher implementations are encouraged to add instances for the classes defined in Crypto.Classes. Crypto users are similarly encouraged to use the interfaces defined in the Classes module. Any concepts or functions of general use to more than one cryptographic algorithm (ex: padding) is within scope of this package.
-
Fast, pure and practical SHA-256 implementation A practical incremental and one-pass, pure API to the SHA-256 cryptographic hash algorithm according to FIPS 180-4 with performance close to the fastest implementations available in other languages. The core SHA-256 algorithm is implemented in C and is thus expected to be as fast as the standard sha256sum(1) tool; for instance, on an Intel Core i7-3770 at 3.40GHz this implementation can compute a SHA-256 hash over 230 MiB of data in under one second. (If, instead, you require a pure Haskell implementation and performance is secondary, please refer to the SHA package.) Additionally, this package provides support for
- HMAC-SHA-256: SHA-256-based Hashed Message Authentication Codes (HMAC)
- HKDF-SHA-256: HMAC-SHA-256-based Key Derivation Function (HKDF)
Relationship to the cryptohash package and its API
This package has been originally a fork of cryptohash-0.11.7 because the cryptohash package had been deprecated and so this package continues to satisfy the need for a lightweight package providing the SHA-256 hash algorithm without any dependencies on packages other than base and bytestring. The API exposed by cryptohash-sha256-0.11.*'s Crypto.Hash.SHA256 module is guaranteed to remain a compatible superset of the API provided by the cryptohash-0.11.7's module of the same name. Consequently, this package is designed to be used as a drop-in replacement for cryptohash-0.11.7's Crypto.Hash.SHA256 module, though with a clearly smaller footprint by almost 3 orders of magnitude. -
Test interactive Haskell examples The doctest program checks examples in source code comments. It is modeled after doctest for Python (https://docs.python.org/3/library/doctest.html). Documentation is at https://github.com/martijnbastiaan/doctest-parallel#readme.
-
Event lists with relative or absolute time stamps These lists manage events that are associated with times. Times may be given as difference between successive events or as absolute time values. Pauses before the first and after the last event are supported. The underlying data structures are lists of elements of alternating types, that is [b,a,b,...,a,b] or [a,b,a,...,a,b]. The data structures can be used to represent MIDI files, OpenSoundControl message streams, music performances etc.
-
Cross platform library for file change notification. Cross platform library for file creation, modification, and deletion notification. This library builds upon existing libraries for platform-specific Windows, Mac, and Linux filesystem event notification.
-
Standard properties for functions on `Validity` types Standard properties for functions on Validity types
-
GenValidity support for Text GenValidity support for Text
-
Derive KnownNat constraints from other KnownNat constraints A type checker plugin for GHC that can derive "complex" KnownNat constraints from other simple/variable KnownNat constraints. i.e. without this plugin, you must have both a KnownNat n and a KnownNat (n+2) constraint in the type signature of the following function:
f :: forall n . (KnownNat n, KnownNat (n+2)) => Proxy n -> Integer f _ = natVal (Proxy :: Proxy n) + natVal (Proxy :: Proxy (n+2))
Using the plugin you can omit the KnownNat (n+2) constraint:f :: forall n . KnownNat n => Proxy n -> Integer f _ = natVal (Proxy :: Proxy n) + natVal (Proxy :: Proxy (n+2))
The plugin can derive KnownNat constraints for types consisting of:- Type variables, when there is a corresponding KnownNat constraint
- Type-level naturals
- Applications of the arithmetic expression: +,-,*,^
- Type functions, when there is either:
- a matching given KnownNat constraint; or
- a corresponding KnownNat<N> instance for the type function
OPTIONS_GHC -fplugin GHC.TypeLits.KnownNat.Solver
Pragma to the header of your file. package
ghc-typelits-natnormalise GHC typechecker plugin for types of kind GHC.TypeLits.Nat A type checker plugin for GHC that can solve equalities and inequalities of types of kind Nat, where these types are either:
- Type-level naturals
- Type variables
- Applications of the arithmetic expressions (+,-,*,^).
(x + 2)^(y + 2)
and4*x*(2 + x)^y + 4*(2 + x)^y + (2 + x)^y*x^2
Because the latter is actually the SOP normal form of the former. To use the plugin, add theOPTIONS_GHC -fplugin GHC.TypeLits.Normalise
Pragma to the header of your file.-
Versatile logging framework hslogger is a logging framework for Haskell, roughly similar to Python's logging module. hslogger lets each log message have a priority and source be associated with it. The programmer can then define global handlers that route or filter messages based on the priority and source. hslogger also has a Syslog handler built in.