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.
-
Snap: A Haskell Web Framework (core interfaces and types) Snap is a simple and fast web development framework and server written in Haskell. For more information or to download the latest version, you can visit the Snap project website at http://snapframework.com/. This library contains the core definitions and types for the Snap framework, including:
- Primitive types and functions for HTTP (requests, responses, cookies, post/query parameters, etc)
- A monad for programming web handlers called "Snap", which allows:
- Stateful access to the HTTP request and response objects
- Monadic failure (i.e. MonadPlus/Alternative instances) for declining to handle requests and chaining handlers together
- Early termination of the computation if you know early what you want to return and want to prevent further monadic processing
package
template-haskell-compat-v0208 Backward-compatibility layer for Template Haskell newer than 2.8 Collection of functions that aims to help you to write Template Haskell that is compatible with all versions of GHC starting from 7.6. The oldest GHC serves as the common denominator here, so the newer functionality is avoided here.
-
Get terminal window height and width Get terminal window height and width without ncurses dependency.
-
Builder for Text and ByteString based on linear types Strict Text and ByteString builder, which hides mutable buffer behind linear types and takes amortized linear time.
-
Unbounded thread delays and timeouts The threadDelay and timeout functions from the base library use the bounded Int type for specifying the delay or timeout period. This packages provides alternatives which use the unbounded Integer type.
-
Help writing simple, concise and fast generic operations. Uniplate is library for writing simple and concise generic operations. Uniplate has similar goals to the original Scrap Your Boilerplate work, but is substantially simpler and faster. To get started with Uniplate you should import one of the three following modules:
- Data.Generics.Uniplate.Data - to quickly start writing generic functions. Most users should start by importing this module.
- Data.Generics.Uniplate.Direct - a replacement for Data.Generics.Uniplate.Data with substantially higher performance (around 5 times), but requires writing instance declarations.
- Data.Generics.Uniplate.Operations - definitions of all the operations defined by Uniplate. Both the above two modules re-export this module.
- Data.Generics.Uniplate.Zipper - a zipper built on top of Uniplate instances.
- Data.Generics.SYB - users transitioning from the Scrap Your Boilerplate library.
- Data.Generics.Compos - users transitioning from the Compos library.
- Data.Generics.Uniplate.DataOnly - users making use of both Data and Direct to avoid getting instance conflicts.
-
Unix time parser/formatter and utilities Fast parser/formatter/utilities for Unix time
package
vector-binary-instances Instances of Data.Binary for vector Instances for Binary for the types defined in the vector package, making it easy to serialize vectors to and from disk. We use the generic interface to vectors, so all vector types are supported. Specific instances are provided for unboxed, boxed and storable vectors. . To serialize a vector: . > *Data.Vector.Binary> let v = Data.Vector.fromList [1..10] > *Data.Vector.Binary> v > fromList [1,2,3,4,5,6,7,8,9,10] :: Data.Vector.Vector > *Data.Vector.Binary> encode v > Chunk "NULNULNULNULNUL...NULNULNULtNULNULNULNULn" Empty . Which you can in turn compress before writing to disk: . > compress . encode $ v > Chunk "US139bNULNULN...229240,254:NULNULNUL" Empty . Try the cereal-vector package if you are looking for Data.Serialize instances.
-
Size tagged vectors Please see README.md
-
A basic implementation of the XDG Base Directory specification. On Unix platforms, this should be a very straightforward implementation of the XDG Base Directory spec. On Windows, it will attempt to do the right thing with regards to choosing appropriate directories.