in the ST monad, as well as a type class abstracting their common operations, and
a set of wrappers to use the hash tables in the IO monad.
WWW: http://github.com/gregorycollins/hashtables
Obtained from: FreeBSD Haskell
Features include:
* Automatic, dynamic reloading in response to modifications to configuration
files.
* A simple, but flexible, configuration language, supporting several of
the most commonly needed types of data, along with interpolation of
strings from the configuration or the system environment (e.g.
$(HOME)).
* Subscription-based notification of changes to configuration properties.
* An import directive allows the configuration of a complex application
to be split across several smaller files, or common configuration data
to be shared across several applications.
WWW: http://github.com/mailrank/configurator
Obtained from: FreeBSD Haskell
RFC 4180, "The common Format and MIME Type for Comma-Separated Values
(CSV) Files". This format is used, among many other things, as a lingua
franca for spreadsheets, and for certain web services.
WWW: http://hackage.haskell.org/package/csv
PR: ports/159689
Submitted by: Kaspars Bankovskis <kaspars@bankovskis.lv>
provided by the parallel package. The Par monad allows the simple
description of parallel computations, and can be used to add parallelism
to pure Haskell code. The basic API is straightforward: the monad
supports forking and simple communication in terms of IVars. The library
comes with an efficient work-stealing implementation, but the internals
are also exposed so that you can build your own scheduler if necessary.
WWW: http://github.com/simonmar/monad-par
Obtained from: FreeBSD Haskell
performance. (A note on naming: in Greek mythology, Aeson was the
father of Jason.)
WWW: http://github.com/mailrank/aeson
Obtained from: FreeBSD Haskell
optimized for performance critical use, both in terms of large data
quantities and high speed.
The declared cost of each operation is either worst-case or amortized,
but remains valid even if structures are shared.
WWW: http://github.com/tibbe/unordered-containers/
Obtained from: FreeBSD Haskell
precision floating point and text. This library is implemented as
bindings to the C++ double-conversion library written by Florian Loitsch
at Google: http://code.google.com/p/double-conversion/.
The Text versions of these functions are about 30 times faster than the
default show implementation for the Double type. The ByteString versions
are slower than the Text versions; roughly half the speed. (This seems
to be due to the cost of allocating ByteString values via malloc.)
As a final note, be aware that the bytestring-show package is about 50%
slower than simply using show.
WWW: http://github.com/mailrank/double-conversion
Obtained from: FreeBSD Haskell
semigroupoids. A Semigroupoid is a Category without the requirement of
identity arrows for every object in the category.
WWW: http://github.com/ekmett/semigroupoids/
Obtained from: FreeBSD Haskell
Haskell. For more information or to download the latest version, you can visit
the Snap project website.
The Snap HTTP server is a high performance, epoll-enabled, iteratee-based web
server library written in Haskell. Together with the "snap-core" library upon
which it depends, it provides a clean and efficient Haskell programming
interface to the HTTP protocol.
Higher-level facilities for building web applications (like user/session
management, component interfaces, data modeling, etc.) are planned but not
yet implemented, so this release will mostly be of interest for those who:
* need a fast and minimal HTTP API at roughly the same level of abstraction
as Java servlets, or
* are interested in contributing to the Snap Framework project.
WWW: http://snapframework.com/
Obtained from: FreeBSD Haskell
and Traversable instance.
Provides a simple data structure mirroring a directory tree on the
filesystem, as well as useful functions for reading and writing
file and directory structures in the IO monad.
WWW: http://coder.bsimmons.name/blog/2009/05/directory-tree-module-released/
Obtained from: FreeBSD Haskell
isolate primitive for parser isolation, and replaces the asynchronous
errors with a user-handleable Either type. Similar to binary in
performance, but uses a strict ByteString instead of a lazy
ByteString, thus restricting it to operating on finite inputs.
WWW: http://hackage.haskell.org/package/cereal
Obtained from: FreeBSD Haskell
to a hash value. This class exists for the benefit of hashing-based data
structures. The package provides instances for basic types and a way to
combine hash values.
WWW: http://github.com/tibbe/hashable
Obtained from: FreeBSD Haskell
with network protocols and complicated text/binary file formats.
This library is basically a translation of the original attoparsec library
to use text instead of bytestrings.
WWW: http://patch-tag.com/r/felipe/attoparsec-text/home
Obtained from: FreeBSD Haskell
search tree and a priority queue. A 'Binding' is a product of a key and
a priority. Bindings can be inserted, deleted, modified and queried in
logarithmic time, and the binding with the least priority can be
retrieved in constant time. A queue can be built from a list of
bindings, sorted by keys, in linear time.
WWW: http://hackage.haskell.org/package/PSQueue
Obtained from: FreeBSD Haskell
Control.Exception, which work in IO, these work in any stack of monad
transformers (from the 'transformers' package) with IO as the base monad.
You can extend this functionality to other monads, by creating an instance
of the MonadCatchIO class.
WWW: http://hackage.haskell.org/package/MonadCatchIO-transformers
Obtained from: FreeBSD Haskell
Storage Service (S3), allowing Haskell developers to reliably store and
retrieve arbitrary amounts of data from anywhere on the Internet.
WWW: http://gregheartsfield.com/hS3/
Obtained from: FreeBSD Haskell
Word128, Word192 and Word256 and Beyond, PKCS5 Padding, Various Encryption
Modes e.g. Cipher Block Chaining all in one package, with HUnit and
QuickCheck tests, and examples.
WWW: http://hackage.haskell.org/package/Crypto
Obtained from: FreeBSD Haskell
be parameterised by a string-like type like: 'String', 'ByteString', 'Text',
etc. Comparisons of values of the resulting type will be insensitive to
cases.
WWW: http://hackage.haskell.org/package/case-insensitive
Obtained from: FreeBSD Haskell