[Haskell-cafe] Ann: contstuff, dnscache, ihttp, ismtp, netlines, yesod-tableview

Michael Snoyman michael at snoyman.com
Mon Apr 4 11:31:48 CEST 2011


Hi Ertugrul,

Looks like some interesting projects. For TLS/SSL support, I would look into
Vincent Hanquez's tls package[1].

Michael

[1] http://hackage.haskell.org/package/tls

On Sun, Apr 3, 2011 at 11:09 PM, Ertugrul Soeylemez <es at ertes.de> wrote:

> Hello fellow Haskellers,
>
> (once again posted to the cafe, because the Haskell mailing list rejects
> my mails.)
>
> I have released quite a few libraries over time on Hackage.  I feel they
> are stable enough now to announce them here.
>
>  * contstuff: Fast and flexible monad transformers based on the CPS
>    concept.  Mainly it helps getting rid of large transformer stacks,
>    because it unifies some monad transformers (like StateT and ContT),
>    and it is also faster than the naive approach.
>
>    This library is comparable to a combination of the transformers
>    package with Edward Kmett's monad-ran package, but without hiding
>    the CPS transformation.  In early benchmarks ChoiceT turned out to
>    be twice as fast as normal Haskell lists, and it is also a proper
>    list monad transformer.
>
>    Finally in the Control.ContStuff.Classes module you find lots of
>    useful utility classes, which seem to be unique to contstuff.
>
>  * dnscache: Handy DNS caching library.  This library automatically
>    manages a set of resolver threads for you, which share a reply
>    cache.  This allows very fast mass-resolution.
>
>    The library also comes with a handy command line utility called
>    'massdns' for quick resolution of even very large lists of entities.
>    Call massdns without arguments to get usage help.
>
>  * ihttp: This is an HTTP library based on enumerators giving you
>    maximum flexibility and control over the connection.  Using proper
>    iteratees you can simply implement e.g. proxy clients (my main use
>    case), but also HTTP servers.  Using proper enumeratees you can also
>    encapsulate the connection in an SSL/TLS layer, but unfortunately
>    there doesn't seem to be such an SSL/TLS implementation yet.
>
>  * ismtp: This is an advanced ESMTP library, which allows you to
>    structure your sessions as you like.  It also features an automated
>    resolver for MX records using the dnscache library.  Right now there
>    is support for most of the base functionalities of the protocol as
>    specified in RFC 821 (SMTP) and RFC 1425 (service extensions).
>
>    An update to RFC 2821 is planned, but is not necessary for practical
>    purposes.  The new RFC mainly removes some unneeded features and
>    unifies the two mentioned RFCs.
>
>    Right now there is no support for SMTL (SASL) authentication, but it
>    is planned for a near future release.  For the time being you can
>    implement your own iteratees for this purpose, if you depend on
>    authentication.
>
>  * netlines: This is a library for writing implementations of
>    text-based protocols.  In particular it allows reading lines safely
>    from untrusted sources with a maximum length in constant space.
>
>  * yesod-tableview: For web applications using Michael Snoyman's Yesod
>    web framework this library implements an easy to use table renderer
>    mainly for database records.  It is in an early stage of development
>    right now, but as the need arises, I will extend it.
>
> To use the networking libraries, you should be familiar with John
> Millikin's 'enumerator' package.  If you're not, I recommend studying
> it, because it is a useful library for all kinds of stream processing
> like network connections, files and concurrent channels.
>
> All mentioned libraries have been tested extensively for correctness and
> safety.  Especially the networking libraries have undergone a lot of
> penetration testing.  However, I'm only one developer, so I would be
> glad to hear about any vulnerabilities and other shortcomings you find.
> Usually I have a very short response time to bugs in these libraries, so
> please don't hesitate to contact me.  Feature requests are also welcome,
> of course. =)
>
> Please note that major version numbers specify interface versions in my
> libraries.  In other words, a new major version of a package usually
> means that the API has changed in a way, which is likely to break
> dependent packages.
>
> I would like to use this opportunity to thank a few people in particular
> (alphabetically):
>
>    - Cale Gibbard,
>    - Edward Kmett,
>    - John Millikin,
>    - Bryan O'Sullivan and
>    - Michael Snoyman.
>
> I appreciate your efforts both in libraries and support.  Many thanks,
> guys!  Thanks also to the rest of the innovative and helpful Haskell
> community.
>
>
> Greets,
> Ertugrul
>
>
> --
> Key-ID: E5DD8D11 "Ertugrul Soeylemez <es at ertes.de>"
> FPrint: 0F12 0912 DFC8 2FC5 E2B8  A23E 6BAC 998E CE40 2012
> Keysrv: hkp://subkeys.pgp.net/
>
>
> --
> nightmare = unsafePerformIO (getWrongWife >>= sex)
> http://ertes.de/
>
>
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20110404/a6d76e66/attachment.htm>


More information about the Haskell-Cafe mailing list