[Haskell] URI handling code; proposed Network.URI replacement

Graham Klyne gk at ninebynine.org
Fri Feb 20 12:26:05 EST 2004

I've completed the functionality of my proposed upgrade to Network.URI, 
though there are still a couple of issues that need to be resolved with the 
ongoing RFC2396bis work (none critical to the general functionality).  This 
is still work-in-progress, but I'm airing it now to see if folks think it's 
an acceptable upgrade to the existing Network.URI module.

There is an extensive test suite that runs without fault under Hugs and GHCi.

This module duplicates the general functionality of the old GHC Network.URI 
module, and adds:
- functions to parse different categories of URI (relative, absolute, 
URI-reference, etc.)
- functions to test for different kinds of URI (returning Bool instead of 
Maybe URI).
- 'relativeFrom', a function to calculate a relative URI with respect to a 
given base, to complement the existing 'relativeTo'.
- functions to perform some common forms of URI normalization.
- default behaviour is to not display the password field associated with 
userinfo in a URI.  (This area needs some tidying up).

The structure of the underlying URI implementation has changed quite a lot, 
but I've also defined some accessor functions that reflect the original 
structure fields.  (Oops, I just noticed I forgot to export them)

The code can be browsed at:


Graham Klyne
For email:

More information about the Haskell mailing list