Hoogle Search
Within LTS Haskell 24.35 (ghc-9.10.3)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
-
Fast and flexible k-d trees for various types of point queries. This package includes static and dynamic versions of k-d trees, as well as "Map" variants that store data at each point in the k-d tree structure. Supports nearest neighbor, k nearest neighbors, points within a given radius, and points within a given range. To learn to use this package, start with the documentation for the Data.KdTree.Static module.
-
TCP keep alive implementation This module allows you to set per-connection keep alive parameters on windows, linux and darwin enviroments. For more information on keep alive signals see https://en.wikipedia.org/wiki/Keepalive. See also https://tldp.org/HOWTO/html_single/TCP-Keepalive-HOWTO/ for a linux specific implementation.
-
Web application deployment manager, focusing on Haskell web frameworks. It mitigates downtime. Deployment system for web applications, originally intended for hosting Yesod applications. It binds to the main port (usually port 80) and reverse proxies requests to your application based on virtual hostnames. It provides SSL support if requested. It automatically launches applications, monitors processes, and relaunches any processes which die. It also provides graceful redeployment support, which mitigates downtime.
-
Maps web browser keycodes to their corresponding keyboard keys Keyboard events in web browsers are often represented as keycodes, which (1) are difficult to remember, and (2) sometimes vary from browser to browser. Web.KeyCode allows one to look up a key press's keycode and get a plain English description of the key that was pressed, to reduce confusion.
-
Implements a keyed-vals Handle using in-process memory keyed-vals provides a typed interface to a storage backend that allows the path in the storage backend to be declaratively linked to the types of data stored via a straightforward typeclass declaration. Read this short example for an introduction its usage. While the goal of keyed-vals is to provide access to storage services like Redis, the abstract definition of Handle also enables this in-process implementation. This package, keyed-vals-mem, is intended as a drop-in replacement for use in testing and rapid prototyping.
-
Access Redis using a keyed-vals Handle keyed-vals specifies a focussed client of storage services like Redis. I.e, while Redis supports many features; the abstract Handle in keyed-vals just supports operations that access collections of key-values Also, keyed-vals provides a typed interface to a storage backend that allows the path in the storage backend to be declaratively linked to the types of data stored via a straightforward typeclass declaration. Read this short example for an introduction its usage. This package, keyed-vals-redis, provides a concrete implementation of Handle that uses Redis as the underlying storage service.
-
A lightweight structured concurrency library A lightweight structured concurrency library. For a specialised variant of this API that does not use unliftio-core, see ki.
-
Utilities to work with lists of types This packages reifies the concept of list of types, and application of those to list constructors.
-
Generic programming in GHC style for arbitrary kinds and GADTs. This package provides functionality to extend the data type generic programming functionality in GHC to classes of arbitrary kind, and constructors featuring constraints and existentials, as usually found in GADTs.
-
Memory-backed handles Create memory-backed Handles, referencing virtual files. This is mostly useful for testing Handle-based APIs without having to interact with the filesystem.
import Data.ByteString (pack) import Data.Knob import System.IO main = do knob <- newKnob (pack []) h <- newFileHandle knob "test.txt" WriteMode hPutStrLn h "Hello world!" hClose h bytes <- Data.Knob.getContents knob putStrLn ("Wrote bytes: " ++ show bytes)