Proposal: splitting the network package

Graham Klyne GK at
Thu Jan 17 13:37:55 CET 2013

On 17/01/2013 12:22, Gregory Collins wrote:
> On Thu, Jan 17, 2013 at 12:32 PM, Graham Klyne <GK at> wrote:
>> If Haskell Platform is to be a serious contender for web applications
>> generally, I claim it MUST have a good URI implementation.  And URIs are
>> about far more than just HTTP, so I think simply treating them as part of
>> HTTP doesn't entirely hack it;  they also underpin aspects of XML and
>> linked data applications, somewhat independently of HTTP.
> My point above was: there is not any single implementation of URI that is
> worthy of canonization, including the existing one in Network.URI, and
> moving the current code into HTTP (which is already itself pretty
> weird/nonstandard, and a prime candidate for replacement IMO) would offer a
> gentle glide path for users of the existing API.
> Until someone writes a decent URI library that we can bless, I'd argue that
> we shouldn't provide anything specifically in the platform.

I don't want to be defensive, but I'd like to know what criteria would be 
satisfied by "a decent URI library that we can bless".

As an implementation of RFC 3986 [1] (the current definitive specification of a 
URI), I believe Network.URI is fairly complete.  I'm sure there are aspects that 
might be considered poor style, poorly implemented, lacking some useful 
functions, or poor API design, but nobody's really said what they are (*).  And 
I'd suggest that all but the final one of those criteria are fixable in an 
existing library.

(*) actually, that's not completely true, there are some long-outstanding 
requests with respect to URI-escaping support and handling of internationalized 
URIs (i.e. IRIs), but these are over and above what is specified by RFC 3986, 
and could be added compatibly to an existing library.



More information about the Libraries mailing list