Difference between revisions of "Applications and libraries/Network"

From HaskellWiki
Jump to navigation Jump to search
(+powermate)
(15 intermediate revisions by 6 users not shown)
Line 1: Line 1:
 
 
Libraries and tools for various network protocols.
 
Libraries and tools for various network protocols.
 
See also [[Libraries and tools/Web programming]] for HTML specific tools.
 
See also [[Libraries and tools/Web programming]] for HTML specific tools.
Line 5: Line 4:
 
== Applications ==
 
== Applications ==
   
  +
;[http://fusion.corsis.eu PortFusion]
;[[Lambdabot]]
 
  +
:high-performance distributed reverse / forward proxy & tunneling for TCP
:An IRC bot implemented in Haskell, with a plugin architecture, providing many many services, including:
 
* Haskell evaluation, type and kind checking
 
* Type search, identifier search, library search, google and wikipedia search
 
* Code refactoring
 
* And more!
 
   
;[http://gopher.quux.org:70/devel/hpodder hpodder]
+
;[http://sep07.mroot.net/index.html Barracuda]
  +
:A distributed chat server
:hpodder is a podcast downloader that happens to be written in Haskell, providing nice apt-like output and multithreaded downloading.
 
 
;[http://www.haskell.org/hircules/ Hircules]
 
:An IRC client in haskell
 
   
 
;[http://j.mongers.org/pub/haskell/darcs/conjure/ conjure]
 
;[http://j.mongers.org/pub/haskell/darcs/conjure/ conjure]
Line 24: Line 16:
 
:Conjure-alt is an alternative version of the above bittorrent client.
 
:Conjure-alt is an alternative version of the above bittorrent client.
   
;[http://darcs.complete.org/gopherbot/ gopherbot]
+
;[http://darcs.haskell.org/~lemmih/downNova downNova]
 
:'downNova' is a program designed for automating the process of downloading TV Series from [http://www.mininova.org mininova.org]. It will scan your downloaded files to find out what your interests are and download missing/new episodes to your collection. Advanced classification techniques are used to interpret the file names and 'downNova' will correctly extract series name, season number, episode number and episode title in nigh all cases.
:A gopher caching spider, similar in goals to the wayback machine at archive.org. Written in Haskell, uses the HDBC database engine.
 
  +
  +
;[http://hackage.haskell.org/package/FTPLine FTPLine]
  +
:A command-line FTP client.
  +
  +
;[http://www.xs4all.nl/~weegen/eelis/geordi/ Geordi]
  +
:A sandboxing evaluation supervisor, used as the backend to codepad.org
   
 
;[http://repetae.net/john/computer/ginsu/ Ginsu]
 
;[http://repetae.net/john/computer/ginsu/ Ginsu]
 
:Ginsu is a client for the gale chat system. It is designed to be powerful and above all stable, as well as having a quick learning curve.
 
:Ginsu is a client for the gale chat system. It is designed to be powerful and above all stable, as well as having a quick learning curve.
   
;[http://www.haskell.org/~petersen/haskell/linkchk/ linkchk]
+
;[http://darcs.complete.org/gopherbot/ gopherbot]
 
:A gopher caching spider, similar in goals to the wayback machine at archive.org. Written in Haskell, uses the HDBC database engine.
:linkchk is a network interface link ping monitor. It supports both IPv4 and IPv6. It works by monitoring the routing table and pinging the gateway (next hop) of a network interface.
 
   
;[http://darcs.haskell.org/~lemmih/downNova downNova]
+
;[http://www.city5.org/hazakura/ Hazakura - search-based MUA]
 
:Jun Mukai's search-based mail client, written in Haskell.
:'downNova' is a program designed for automating the process of downloading TV Series from [http://www.mininova.org mininova.org]. It will scan your downloaded files to find out what your interests are and download missing/new episodes to your collection. Advanced classification techniques are used to interpret the file names and 'downNova' will correctly extract series name, season number, episode number and episode title in nigh all cases.
 
  +
 
;[http://www.haskell.org/hircules/ Hircules]
 
:An IRC client in haskell
  +
  +
;[http://gopher.quux.org:70/devel/hpodder hpodder]
 
:hpodder is a podcast downloader that happens to be written in Haskell, providing nice apt-like output and multithreaded downloading.
  +
 
;[[Lambdabot]]
 
:An IRC bot implemented in Haskell, with a plugin architecture, providing many many services, including:
 
* Haskell evaluation, type and kind checking
 
* Type search, identifier search, library search, google and wikipedia search
 
* Code refactoring
 
* And more!
   
 
;[http://www.cse.unsw.edu.au/~chak/haskell/lambdaFeed/ lambdaFeed]
 
;[http://www.cse.unsw.edu.au/~chak/haskell/lambdaFeed/ lambdaFeed]
 
:lambdaFeed is an RSS 2.0 feed generator. It reads news items - in a non-XML, human-friendly format - distributed over multiple channels and renders them into the RSS 2.0 XML format understood by most news aggregators as well as into HTML for inclusion into web pages.
 
:lambdaFeed is an RSS 2.0 feed generator. It reads news items - in a non-XML, human-friendly format - distributed over multiple channels and renders them into the RSS 2.0 XML format understood by most news aggregators as well as into HTML for inclusion into web pages.
  +
  +
;[http://www.haskell.org/~petersen/haskell/linkchk/ linkchk]
 
:linkchk is a network interface link ping monitor. It supports both IPv4 and IPv6. It works by monitoring the routing table and pinging the gateway (next hop) of a network interface.
   
 
== Libraries ==
 
== Libraries ==
   
;[http://happs.org/ HAppS - Haskell Application Server]
+
;[http://happstack.com Happstack]
 
:Monadic ACID transactions, a high performance HTTP server, an SMTP server, a DNS server, mail delivery agent, XML and XSLT, and more.
 
:Monadic ACID transactions, a high performance HTTP server, an SMTP server, a DNS server, mail delivery agent, XML and XSLT, and more.
   
Line 52: Line 66:
 
;[http://cs.helsinki.fi/u/ekarttun/network-alt/ network-alt]
 
;[http://cs.helsinki.fi/u/ekarttun/network-alt/ network-alt]
 
:Alternative high speed network implementation supporting various IO strategies including epoll.
 
:Alternative high speed network implementation supporting various IO strategies including epoll.
  +
  +
;[http://hackage.haskell.org/package/tls tls]
  +
:A pure haskell implementation of TLS (Supporting SSL3, TLS1.0 and TLS1.1) for server and client sides. only core implementation, helpers and easy to use defaults in [http://hackage.haskell.org/package/tls-extra tls-extra].
   
 
;[http://cs.helsinki.fi/u/ekarttun/hsgnutls/ hsgnutls]
 
;[http://cs.helsinki.fi/u/ekarttun/hsgnutls/ hsgnutls]
:Support for SSL/TLS connections.
+
:Support for SSL/TLS connections using the GnuTLS system library.
   
 
;[http://darcs.complete.org/ldap-haskell ldap-haskell]
 
;[http://darcs.complete.org/ldap-haskell ldap-haskell]
Line 61: Line 78:
 
;[http://cryp.to/hsemail/ HsEmail : Parsers for the Internet Message Standard]
 
;[http://cryp.to/hsemail/ HsEmail : Parsers for the Internet Message Standard]
 
:Peter Simons' Parsec combinators for the syntax of Internet messages, such as e-mail, news articles, namely RFC2234, RFC2821, and RFC2822
 
:Peter Simons' Parsec combinators for the syntax of Internet messages, such as e-mail, news articles, namely RFC2234, RFC2821, and RFC2822
 
;[http://www.city5.org/hazakura/ Hazakura - search-based MUA]
 
:Jun Mukai's search-based mail client, written in Haskell.
 
   
 
;[http://software.pupeno.com/HaServers/ HaServers]
 
;[http://software.pupeno.com/HaServers/ HaServers]
Line 71: Line 85:
 
:Haskell library for reading and writing MIME messages (aka, email)
 
:Haskell library for reading and writing MIME messages (aka, email)
 
:darcs get http://www.n-heptane.com/nhlab/repos/haskell-mime/
 
:darcs get http://www.n-heptane.com/nhlab/repos/haskell-mime/
  +
  +
;[[Applications_and_libraries/Concurrency_and_parallelism#MPI|MPI]]
  +
:Message Passing Interface
   
 
;[http://tsukimi.agusa.i.is.nagoya-u.ac.jp/~sydney/PiMonad/ PiMonad: a library for pi calculus channels]
 
;[http://tsukimi.agusa.i.is.nagoya-u.ac.jp/~sydney/PiMonad/ PiMonad: a library for pi calculus channels]
Line 89: Line 106:
 
;[http://neugierig.org/software/darcs/powermate/ powermate]
 
;[http://neugierig.org/software/darcs/powermate/ powermate]
 
: A Haskell binding to powermate
 
: A Haskell binding to powermate
  +
  +
;[http://www.zeromq.org/bindings:haskell ZeroMQ] Haskell bindings
  +
: "ØMQ (ZeroMQ, 0MQ, zmq) looks like an embeddable networking library but acts like a concurrency framework."
  +
  +
== Hackage==
  +
  +
* [http://hackage.haskell.org/packages/archive/pkg-list.html#cat:Network Networking libs on Hackage]
  +
* [http://hackage.haskell.org/packages/archive/pkg-list.html#cat:Web Web libraries on Hackage]

Revision as of 13:29, 26 August 2012

Libraries and tools for various network protocols. See also Libraries and tools/Web programming for HTML specific tools.

Applications

PortFusion
high-performance distributed reverse / forward proxy & tunneling for TCP
Barracuda
A distributed chat server
conjure
Conjure is a Haskell implementation of the bittorrent protocol
conjure-alt
Conjure-alt is an alternative version of the above bittorrent client.
downNova
'downNova' is a program designed for automating the process of downloading TV Series from mininova.org. It will scan your downloaded files to find out what your interests are and download missing/new episodes to your collection. Advanced classification techniques are used to interpret the file names and 'downNova' will correctly extract series name, season number, episode number and episode title in nigh all cases.
FTPLine
A command-line FTP client.
Geordi
A sandboxing evaluation supervisor, used as the backend to codepad.org
Ginsu
Ginsu is a client for the gale chat system. It is designed to be powerful and above all stable, as well as having a quick learning curve.
gopherbot
A gopher caching spider, similar in goals to the wayback machine at archive.org. Written in Haskell, uses the HDBC database engine.
Hazakura - search-based MUA
Jun Mukai's search-based mail client, written in Haskell.
Hircules
An IRC client in haskell
hpodder
hpodder is a podcast downloader that happens to be written in Haskell, providing nice apt-like output and multithreaded downloading.
Lambdabot
An IRC bot implemented in Haskell, with a plugin architecture, providing many many services, including:
  • Haskell evaluation, type and kind checking
  • Type search, identifier search, library search, google and wikipedia search
  • Code refactoring
  • And more!
lambdaFeed
lambdaFeed is an RSS 2.0 feed generator. It reads news items - in a non-XML, human-friendly format - distributed over multiple channels and renders them into the RSS 2.0 XML format understood by most news aggregators as well as into HTML for inclusion into web pages.
linkchk
linkchk is a network interface link ping monitor. It supports both IPv4 and IPv6. It works by monitoring the routing table and pinging the gateway (next hop) of a network interface.

Libraries

Happstack
Monadic ACID transactions, a high performance HTTP server, an SMTP server, a DNS server, mail delivery agent, XML and XSLT, and more.
HTTP and Browser Modules
A significantly RFC compliant HTTP/1.1 client implementation. This is an updated version of Warrick Gray's original version.
HaskellNet
Support for the HTTP/IMAP/POP3/SMTP protocols.
network-alt
Alternative high speed network implementation supporting various IO strategies including epoll.
tls
A pure haskell implementation of TLS (Supporting SSL3, TLS1.0 and TLS1.1) for server and client sides. only core implementation, helpers and easy to use defaults in tls-extra.
hsgnutls
Support for SSL/TLS connections using the GnuTLS system library.
ldap-haskell
ldap-haskell is a Haskell binding to C-based LDAP libraries such as OpenLDAP. With ldap-haskell, you can interrogate an LDAP directory, update its entries, add data to it, etc. ldap-haskell provides an interface to all the most common operations you would need to perform with an LDAP server.
HsEmail : Parsers for the Internet Message Standard
Peter Simons' Parsec combinators for the syntax of Internet messages, such as e-mail, news articles, namely RFC2234, RFC2821, and RFC2822
HaServers
Set of modules for building network servers, including a DNS example.
Another Haskell MIME Library
Haskell library for reading and writing MIME messages (aka, email)
darcs get http://www.n-heptane.com/nhlab/repos/haskell-mime/
MPI
Message Passing Interface
PiMonad: a library for pi calculus channels
A lightweight implementation of the Pi-Calculus, a process algebra with channel-passing features and a network programming framework equipped with channel-passing feature.
hslogger
a logging framework for Haskell. hslogger's features include:
  • Each log message has a priority and a source associated with it
  • Multiple log writers can be on the system
  • Configurable global actions based on priority and source
  • Extensible log writers (handlers)
  • Default handlers that write to the console, file handles, or syslog
  • Easy to use operation
haskell-memcached
haskell bindings for memcached. See other library by Evan Martin
powermate
A Haskell binding to powermate
ZeroMQ Haskell bindings
"ØMQ (ZeroMQ, 0MQ, zmq) looks like an embeddable networking library but acts like a concurrency framework."

Hackage