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.
-
A cross-platform, cross-console way to handle echoing terminal input The base library exposes the hGetEcho and hSetEcho functions for querying and setting echo status, but unfortunately, neither function works with MinTTY consoles on Windows. This is a serious issue, since hGetEcho and hSetEcho are often used to disable input echoing when a program prompts for a password, so many programs will reveal your password as you type it on MinTTY! This library provides an alternative interface which works with both MinTTY and other consoles. An example is included which demonstrates how one might prompt for a password using this library. To build it, make sure to configure with the -fexample flag.
-
Ed25519 cryptographic signatures This package provides a simple, fast, self-contained copy of the Ed25519 public-key signature system with a clean interface. It also includes support for detached signatures, and thorough documentation on the design and implementation, including usage guidelines.
-
Calculate edit distances and edit scripts between vectors. An implementation of the Wagner–Fischer dynamic programming algorithm to find the optimal edit script and cost between two sequences. The implementation in this package is specialised to sequences represented with Data.Vector but is otherwise agnostic to:
- The type of values in the vectors;
- The type representing edit operations; and
- The type representing the cost of operations.
-
JSON encoding of ekg metrics Encodes ekg metrics as JSON, using the same encoding as used by the ekg package, thus allowing ekg metrics to be served by other HTTP servers than the one used by the ekg package.
-
Derive Elm types and Json code from Haskell types, using aeson's options Building the bridge from Haskell to Elm and back. Define types once, and derive the aeson and elm functions at the same time, using any aeson option you like. Cheers!
-
Simulate molecular sequences along trees Examine, modify, and simulate molecular sequences in a reproducible way. Please see the README on GitHub at https://github.com/dschrempf/elynx.
-
Catching all exceptions from within an enclosed computation Catching all exceptions raised within an enclosed computation, while remaining responsive to (external) asynchronous exceptions. For more information on the technique, please see: https://www.fpcomplete.com/user/snoyberg/general-haskell/exceptions/catching-all-exceptions
-
Parse environment variables Here's a simple example of a program that uses envparse's parser:
module Main (main) where import Control.Monad (unless) import Env data Hello = Hello { name :: String, quiet :: Bool } hello :: IO Hello hello = Env.parse (header "envparse example") $ Hello <$> var (str <=< nonempty) "NAME" (help "Target for the greeting") <*> switch "QUIET" (help "Whether to actually print the greeting") main :: IO () main = do Hello {name, quiet} <- hello unless quiet $ putStrLn ("Hello, " ++ name ++ "!")The NAME environment variable is mandatory and contains the name of the person to greet. QUIET, on the other hand, is an optional boolean flag, false by default, that decides whether the greeting should be silent. If the NAME variable is undefined in the environment then running the program will result in the following help text:envparse example Available environment variables: NAME Target for the greeting QUIET Whether to actually print the greeting Parsing errors: NAME is unset
-
An environmentally friendly way to deal with environment variables For package use information see the README.md
-
Maintaining an equivalence relation implemented as union-find using STT. This is an implementation of Tarjan's Union-Find algorithm (Robert E. Tarjan. "Efficiency of a Good But Not Linear Set Union Algorithm", JACM 22(2), 1975) in order to maintain an equivalence relation. This implementation is a port of the union-find package using the ST monad transformer (instead of the IO monad).