[web-devel] http2

Bryan O'Sullivan bos at serpentine.com
Tue Dec 17 07:28:01 UTC 2013


On Mon, Dec 16, 2013 at 6:03 PM, Kazu Yamamoto <kazu at iij.ad.jp> wrote:

> I would like to announce the first release of the http2 package.
>

A quick note, after reading just a bit of the code.

A lot of the API uses the IO monad for no apparent reason. For example, the
functions clearRefSets, removeRef, newEntry all seem to use IO
unnecessarily, when they could be pure functions. That strikes me as bad
style.

I'm also a bit dubious about HeaderSet being a type alias for [Header],
since you're not hiding it but have a very long alias for (:) later in the
same module.

I don't like to see the print* functions scattered around in the public
API, they look like debugging aids for your development purposes.

I don't understand why HeaderSet is a type alias but ReferenceSet is a new
type (and should be using newtype instead of data). The ReferenceSet
functions look likely to be inefficient.

This is an interesting start, but I don't think the API design is clean
enough yet that I would want to use this.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/web-devel/attachments/20131216/86153523/attachment.html>


More information about the web-devel mailing list