Splitting Network.URI from the network package

Michael Snoyman michael at snoyman.com
Fri Aug 1 11:31:13 UTC 2014


This was brought up last year[1], and I'd like to bring it up again, based
on a recent issue I was working through with a user[2]. I realize that this
is a breaking change, but:

1. It's a minor breaking change: you simply need to add an extra package to
your build-depends.
2. The problems caused by having a parsec dependency in network can be
severe, especially for new users (I'll describe the details after the
proposal).

Concretely, I believe we should do the following:

1. Create a new package, network-uri, version 2.5.0.0, which exposes no
modules and has an upper bound `network < 2.6.
2. Create a second release of network-uri, version 3.0.0.0, which provides
the Network.URI module verbatim as provided by the network package today,
and has a lower bound `network >= 3.0`.
3. Release network version 3.0.0.0, with no changes from the currently
released version, except that (a) no Network.URI module is provided, and
(b) there is no parsec dependency.

I don't remember how the discussion went last time, but I seem to remember
general consensus. I'd like to set a discussion period of two weeks (August
15).

## Motivation

To give a concrete example of why this problem is severe, consider the
following data:

* The network package is a pain to install on Windows for most users
(especially new users), since it requires msys.
* Most Windows users therefore install the Haskell Platform, avoiding the
msys dependency.
* The current release of HP installs text version 0.11.3.1. text is a
dependency of parsec, and parsec is a dependency of network. Therefore, you
can't build against a new version of text *and* use the network package
without recompiling network, which as I mentioned is difficult.
* A number of popular packages depend on newer versions of text. For
example, since 0.8.0.0, aeson requires text version 1.1.0.0 or later. as
does attoparsec since version 0.12.0.0.

[1] http://www.haskell.org/pipermail/libraries/2013-January/019234.html
[2] https://groups.google.com/d/msg/yesodweb/auk2vByXgO8/lUZ9oanKyMwJ
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/libraries/attachments/20140801/ed558881/attachment.html>


More information about the Libraries mailing list