Commit graph

500 commits

Author SHA1 Message Date
Gabor Pali
350b4034e6 Socks proxy (version 5) implementation.
WWW:	http://github.com/vincenthz/hs-socks

Obtained from:	FreeBSD Haskell
2012-06-03 19:19:27 +00:00
Gabor Pali
f4d3bfa331 Stream socket data using conduits.
WWW:	http://github.com/snoyberg/conduit

Obtained from:	FreeBSD Haskell
2012-06-03 19:18:16 +00:00
Gabor Pali
1163bed913 Utilities for dealing with IEEE floating point numbers, ported from the
Tango math library; approximate and exact equality comparisons for general
types.

WWW:	http://github.com/patperry/hs-ieee754

Obtained from:	FreeBSD Haskell
2012-06-03 19:16:56 +00:00
Gabor Pali
aa7f8f5971 A "vault" is a typed, persistent store for values of arbitrary types. It's
like having first-class access to the storage space behind IORefs. The
data structure is analogous to a bank vault, where you can access different
bank boxes with different keys; hence the name. Also provided is a "locker"
type, representing a store for a single element.

WWW:	https://github.com/HeinrichApfelmus/vault

Obtained from:	FreeBSD Haskell
2012-06-03 19:15:34 +00:00
Gabor Pali
635a68e21b The functions for creating temporary files and directories in the base
library are quite limited. The unixutils package contains some good ones,
but they aren't portable to Windows. This library just repackages the
Cabal implementations of its own temporary file and folder functions so
that you can use them without linking against Cabal or depending on it
being installed.

WWW:	http://www.github.com/batterseapower/temporary

Obtained from:	FreeBSD Haskell
2012-06-03 19:13:46 +00:00
Gabor Pali
86f6bda44c High-level, byte-based file and directory path manipulations.
WWW:	https://john-millikin.com/software/haskell-filesystem/

Obtained from:	FreeBSD Haskell
2012-06-03 19:12:30 +00:00
Gabor Pali
78722a65eb This package was originally included with the conduit package, and has
since been split off.

WWW:	http://github.com/snoyberg/conduit

Obtained from:	FreeBSD Haskell
2012-06-03 19:11:10 +00:00
Gabor Pali
84ac1d8642 A high-performance striped pooling abstraction for managing flexibly-sized
collections of resources such as database connections.

WWW:	http://github.com/bos/pool

Obtained from:	FreeBSD Haskell
2012-06-03 19:09:46 +00:00
Gabor Pali
020ca9f500 This package provides a basic random number generation library, including
the ability to split random number generators.

WWW:	http://hackage.haskell.org/package/random

Obtained from:	FreeBSD Haskell
2012-06-03 19:08:29 +00:00
Gabor Pali
9710ba78df Allocate resources from a pool, guaranteeing resource handling via the
ResourceT transformer.

WWW:	http://www.yesodweb.com/book/persistent

Obtained from:	FreeBSD Haskell
2012-06-03 19:07:11 +00:00
Gabor Pali
0386079a07 The modules below provide additional data structures, and other added
capabilities layered on top of the Par monad.

WWW:	https://github.com/simonmar/monad-par

Obtained from:	FreeBSD Haskell
2012-06-03 19:05:39 +00:00
Gabor Pali
952a006b35 Optimized edit distances for fuzzy matching, including Levenshtein and
restricted Damerau-Levenshtein algorithms.

WWW:	http://github.com/batterseapower/edit-distance

Obtained from:	FreeBSD Haskell
2012-06-03 19:04:00 +00:00
Gabor Pali
1cebaf7493 Conduits are an approach to the streaming data problem. It is meant as
an alternative to enumerators/iterators, hoping to address the same
issues with different trade-offs based on real-world experience with
enumerators.

WWW:	http://github.com/snoyberg/conduit

Obtained from:	FreeBSD Haskell
2012-06-03 19:02:40 +00:00
Gabor Pali
78d96111fe Pure and impure Bloom Filter implementations.
WWW:	http://www.serpentine.com/software/bloomfilter

Obtained from:	FreeBSD Haskell
2012-06-03 19:01:30 +00:00
Gabor Pali
b57664829c Convert streams of builders to streams of bytestrings.
WWW:	http://github.com/snoyberg/conduit

Obtained from:	FreeBSD Haskell
2012-06-03 18:59:49 +00:00
Gabor Pali
8015ce94ab Atomic operations including CAS (compare-and-swap), fetch & add and variants
suitable for low-level shared-memory synchronization. The implementation
is using GCC's builtin atomic operations (available in GCC >= 4) in C
wrappers called through the FFI.

WWW:	http://hackage.haskell.org/package/bits-atomic

Obtained from:	FreeBSD Haskell
2012-06-03 18:58:41 +00:00
Gabor Pali
c02b54f2d6 The Par monad(s) offer an alternative parallel programming API to that
provided by the 'parallel' package. A 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: a Par monad
supports forking and simple communication in terms of IVars. This module
is an interface module only. It provides a number of type clasess, but
not an implementation. The type classes separate different levels of Par
functionality.

WWW:	https://github.com/simonmar/monad-par

Obtained from:	FreeBSD Haskell
2012-06-03 18:57:20 +00:00
Gabor Pali
7885c5f5dc An abstract interface to highly-parameterizable queues/deques. Background:
There exists a feature space for queues that extends between:

 * simple, single-ended, non-concurrent, bounded queues
 * double-ended, threadsafe, growable queues

... with important points inbetween (such as the queues used for
work-stealing). This package includes an interface for Deques that
allows the programmer to use a single API for all of the above, while
using the type-system to select an efficient implementation given the
requirements (using type families). This package also includes a simple
reference implementation based on 'IORef' and "Data.Sequence".

WWW:	http://hackage.haskell.org/package/abstract-deque

Obtained from:	FreeBSD Haskell
2012-06-03 18:55:53 +00:00
Gabor Pali
74efd11c96 Anaphoric and miscellaneous useful control-flow.
WWW:	http://hackage.haskell.org/package/IfElse

Obtained from:	FreeBSD Haskell
2012-06-03 18:54:15 +00:00
Gabor Pali
41b131d97e After GHC 7.2 a new casMutVar# primop became available, but was not yet
exposed in Data.IORef. This package fills that gap until such a time as
Data.IORef obsoletes it. Further, in addition to exposing native Haskell
CAS operations, this package contains "mockups" that imititate the same
functionality using either atomicModifyIORef and unsafe pointer equality
(in Data.CAS.Fake) or using foreign functions (Data.CAS.Foreign).
These alternatives are useful for debugging. Note that the foreign option
does not operate on IORefs and so is directly interchangeable with `Data.CAS`
and `Data.CAS.Fake` only if the interface in `Data.CAS.Class` is used.

WWW:	http://hackage.haskell.org/package/IORefCAS

Obtained from:	FreeBSD Haskell
2012-06-03 18:52:54 +00:00
Gabor Pali
41991156ca Streaming compression/decompression via conduits.
WWW:	http://github.com/snoyberg/conduit

Obtained from:	FreeBSD Haskell
2012-06-03 18:50:50 +00:00
Ashish SHUKLA
6a45e2e378 - Fix building on 10-CURRENT i386
Obtained from:	FreeBSD Haskell
2012-04-17 11:33:22 +00:00
Gabor Pali
9266914f84 ThreadScope is a graphical viewer for thread profile information
generated by the Glasgow Haskell Compiler (GHC).

The ThreadScope program allows us to debug the parallel performance of
Haskell programs.  Using Threadscope we can check to see that work is
well balanced across the available processors and spot performance
issues relating to garbage collection or poor load balancing.

WWW:	http://hackage.haskell.org/package/threadscope

Obtained from:	FreeBSD Haskell
2012-02-18 22:50:19 +00:00
Gabor Pali
64008ac3b8 Parses .eventlog files emitted by GHC 6.12.1 and later. Includes the
ghc-events-show tool to dump and event log file as text.

WWW:	http://hackage.haskell.org/package/ghc-events

Obtained from:	FreeBSD Haskell
2012-02-18 22:47:13 +00:00
Gabor Pali
6088e11500 wxHaskell is a portable and native GUI library for Haskell. It is built
on top of wxWidgets - a comprehensive C++ library that is portable
across all major GUI platforms; including GTK, Windows, X11, and MacOS
X.  This version works with wxWidgets 2.8 and 2.9.

WWW:	http://haskell.org/haskellwiki/WxHaskell

Obtained from:	FreeBSD Haskell
2012-02-18 21:38:48 +00:00
Gabor Pali
0df28bef5d wxHaskell is a portable and native GUI library for Haskell. It is built
on top of wxWidgets, a comprehensive C++ library that is portable across
all major GUI platforms, including GTK, Windows, X11, and MacOS X.  This
version works with wxWidgets 2.8 only.  Distributed under the WXWINDOWS
LIBRARY LICENSE.  Please see LICENSE file, but note that this is
essentially LGPL with an exception allowing binary distribution of
proprietary software.  This is the same license as wxWidgets itself
uses.

WWW:	http://haskell.org/haskellwiki/WxHaskell

Obtained from:	FreeBSD Haskell
2012-02-18 21:35:29 +00:00
Gabor Pali
804b93ca8f wxHaskell is a portable and native GUI library for Haskell. It is built
on top of wxWidgets, a comprehensive C++ library that is portable across
all major GUI platforms, including GTK, Windows, X11, and MacOS X.  This
version works with wxWidgets 2.8 only.

WWW:	http://haskell.org/haskellwiki/WxHaskell

Obtained from:	FreeBSD Haskell
2012-02-18 21:31:42 +00:00
Gabor Pali
a7fe8296da This package provides strict versions of some standard Haskell data
types (pairs, Maybe and Either).  It also contains strict IO operations.

WWW:	http://www.cse.unsw.edu.au/~rl/code/strict.html

Obtained from:	FreeBSD Haskell
2012-02-18 21:27:14 +00:00
Gabor Pali
3884eb7918 HsOpenSSL is an (incomplete) OpenSSL binding for Haskell. It can
generate RSA and DSA keys, read and write PEM files, generate message
digests, sign and verify messages, encrypt and decrypt messages.  It has
also some capabilities of creating SSL clients and servers.

WWW:	https://github.com/phonohawk/HsOpenSSL

Obtained from:	FreeBSD Haskell
2012-02-18 18:46:37 +00:00
Gabor Pali
02e663d404 A RESTful web framework with strong compile-time guarantees of correctness.
It also affords space efficient code, highly concurrent loads, and
portability to many deployment backends (via the wai package), from CGI
to stand-alone serving. Yesod also focuses on developer productivity.
Yesod integrates well with tools for all your basic web development (wai,
persistent, and shakespeare/hamlet).

WWW:	http://www.yesodweb.com/

Obtained from:	FreeBSD Haskell
2012-02-18 17:53:13 +00:00
Gabor Pali
8527e49545 Authentication for Yesod.
WWW:	http://www.yesodweb.com/

Obtained from:	FreeBSD Haskell
2012-02-18 17:51:06 +00:00
Gabor Pali
d1636f6e39 Generate content for Yesod using the aeson package.
WWW:	http://www.yesodweb.com/

Obtained from:	FreeBSD Haskell
2012-02-18 17:48:55 +00:00
Gabor Pali
72244c2fa1 Form handling support for Yesod Web Framework.
WWW:	http://www.yesodweb.com/

Obtained from:	FreeBSD Haskell
2012-02-18 17:46:39 +00:00
Gabor Pali
9d838d1748 Some helpers for using Persistent from Yesod.
WWW:	http://www.yesodweb.com/

Obtained from:	FreeBSD Haskell
2012-02-18 17:44:41 +00:00
Gabor Pali
7653e98fdc Yesod is a framework designed to foster creation of RESTful web
application that have strong compile-time guarantees of correctness.  It
also affords space efficient code and portability to many deployment
backends, from CGI to stand-alone serving.

WWW:	http://www.yesodweb.com/

Obtained from:	FreeBSD Haskell
2012-02-18 17:42:42 +00:00
Gabor Pali
554cac2cd5 A logging system for WAI.
WWW:	http://hackage.haskell.org/package/wai-logger

Obtained from:	FreeBSD Haskell
2012-02-18 17:39:24 +00:00
Gabor Pali
b02a3b4cd2 Provides common features without many dependencies.
WWW:	http://github.com/yesodweb/wai

Obtained from:	FreeBSD Haskell
2012-02-18 17:37:16 +00:00
Gabor Pali
3e9dbd8663 Shakespeare is a template family for type-safe, efficient templates with
simple variable interpolation.  Shakespeare templates can be used inline
with a quasi-quoter or in an external file.  Shakespeare interpolates
variables according to the type being inserted.  In this case, the
variable type needs a ToText instance.

WWW:	http://www.yesodweb.com/book/templates

Obtained from:	FreeBSD Haskell
2012-02-18 17:34:41 +00:00
Gabor Pali
4aeb3e86c3 Shakespeare is a template family for type-safe, efficient templates with
simple variable interpolation.  Shakespeare templates can be used inline
with a quasi-quoter or in an external file.  Shakespeare interpolates
variables according to the type being inserted.  In this case, the
variable type needs a ToJavascript instance.

There is also shakespeare-coffeescript for coffeescript templates.
Coffescript is a language that compiles down to javascript.  It expects
a coffeescript compiler in your path, and variable should be a ToCoffee
instance.

WWW:	http://www.yesodweb.com/book/templates

Obtained from:	FreeBSD Haskell
2012-02-18 17:32:38 +00:00
Gabor Pali
9ebc731ebd This package uses the same approach of type-safe URLs to create
translated content.  It has a simple syntax for translators, while
allowing the ful power of Haskell for applying complex grammar rules.

WWW:  http://www.yesodweb.com/book/i18n

Obtained from:	FreeBSD Haskell
2012-02-18 17:30:46 +00:00
Gabor Pali
6e2a1395cc Shakespeare is a template family for type-safe, efficient templates with
simple variable interpolation.  Shakespeare templates can be used inline
with a quasi-quoter or in an external file.  Shakespeare interpolates
variables according to the type being inserted.  In this case, the
variable type needs a ToCss instance.

This package contains 2 CSS template languages.  The Cassius language
uses whitespace to avoid the need for closing brackets and semi-colons.
Lucius does not care about whitespace and is a strict superset of CSS.
There are also some significant conveniences added for CSS.

WWW:	http://www.yesodweb.com/book/templates

Obtained from:	FreeBSD Haskell
2012-02-18 17:28:38 +00:00
Gabor Pali
2c1404b886 This library provides just the general interface and helper functions.
You must use a specific backend in order to make this useful.

WWW:	http://www.yesodweb.com/book/persistent

Obtained from:	FreeBSD Haskell
2012-02-18 17:26:15 +00:00
Gabor Pali
3dd495706e This library provides just the general interface and helper functions.
You must use a specific backend in order to make this useful.

WWW:	http://www.yesodweb.com/book/persistent

Obtained from:	FreeBSD Haskell
2012-02-18 17:24:14 +00:00
Gabor Pali
5b634d8c90 Useful for stuff like database connection pools.
WWW:	http://www.yesodweb.com/book/persistent

Obtained from:	FreeBSD Haskell
2012-02-18 17:21:20 +00:00
Gabor Pali
5601089dd4 Components of paths.
WWW:	http://github.com/snoyberg/path-pieces

Obtained from:	FreeBSD Haskell
2012-02-18 17:18:34 +00:00
Gabor Pali
b41bcdb179 This package provides some high-level datatypes for declaring MIME email
messages, functions for automatically composing these into bytestrings,
and the ability to send bytestrings via the sendmail executable.  You
can also use any other library you wish to send via different methods,
eg directly to SMTP.

WWW:	http://github.com/snoyberg/mime-mail

Obtained from:	FreeBSD Haskell
2012-02-18 17:15:46 +00:00
Gabor Pali
f2ec06ecbd Hamlet gives you a type-safe tool for generating HTML code. It works
via Quasi-Quoting, and generating extremely efficient output code.  The
syntax is white-space sensitive, and it helps you avoid cross-site
scripting issues and 404 errors.

WWW:	http://www.yesodweb.com/book/templates

Obtained from:	FreeBSD Haskell
2012-02-18 17:13:17 +00:00
Gabor Pali
4ec18f7207 Shakespeare is a template family for type-safe, efficient templates with
simple variable interpolation.  Shakespeare templates can be used inline
with a quasi-quoter or in an external file.  Shakespeare interpolates
variables according to the type being inserted.

WWW:	http://www.yesodweb.com/book/templates

Obtained from:	FreeBSD Haskell
2012-02-18 17:11:03 +00:00
Gabor Pali
230e9ffc4e A fast logging system.
WWW:	http://hackage.haskell.org/package/fast-logger

Obtained from:	FreeBSD Haskell
2012-02-18 17:08:24 +00:00
Gabor Pali
daff33d149 Validating an email address string against RFC 5322.
WWW:	http://porg.es/blog/email-address-validation-simpler-faster-more-correct

Obtained from:	FreeBSD Haskell
2012-02-18 17:04:33 +00:00