
On 17/01/2013 12:22, Gregory Collins wrote:
On Thu, Jan 17, 2013 at 12:32 PM, Graham Klyne
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. #g -- [1] http://tools.ietf.org/html/rfc3986