uri.scm: Web Uniform Resource Identifiers (URI) in Scheme

Update: A new version of uri.scm with substantial improvements and some API changes is mostly finished, but I haven't yet had time to polish it up and release it.

uri.scm is a Scheme code library for parsing, representing, and transforming Web Uniform Resource Identifiers (URI) [RFC2396], which includes Uniform Resource Locators (URL) and Uniform Resource Names (URN). It supports absolute and relative URIs and URI references.

The library provides two separate interfaces, based on the two supported representations: a convenient verbatim string representation, and a parsed representation. From an interface standpoint, URI are immutable objects, and all operations are functions yielding the same or new immutable URI objects. Functionality specific to individual URI schemes is generally outside the scope of this library, and is better supported via separate companion libraries.

This library has been designed after experience with [UriFrame], which was specific to PLT Scheme and dependent on a heavyweight object system. This library appears in some ways simliar to the uri module of [SLIB], but is intended to provide additional functionality.

The current version of this library is specific to PLT Scheme, but it has been written with the intention of being portable shortly to most R5RS Scheme implementations that support popular SRFIs. It officially requires [SRFI-6], [SRFI-8], [SRFI-9], [SRFI-13] (for string-downcase), [SRFI-16], [SRFI-23], and [SRFI-39]. It also requires some regular expression operations that can be provided by the [Pregexp] library if the implementation does not provide appropriate native operations. If the implementation provides immutable strings and pairs, the library will take advantage of them; on implementations that do not provide these, copying and hopeful wishes will be used.

See documentation for more info...

To be added to the moderated scheme-announce email list, ask neil@neilvandyke.org .

The current version of uri.scm is 0.1 (18-Aug-2004).

You can download file uri.scm, Scheme source code.

You can download file uri.html, documentation in HTML format.

You can download file uri.pdf, documentation in PDF format.

You can download file uri.plt, a packaging for PLT Scheme.

Site © 1994-2008 Neil Van Dyke   neil@neilvandyke.org    XHTML 1.0 Strict  CSS2    Legal