On 13 March 2013 19:05, Andy Wingo wrote: > What's the status here, Daniel? Would be nice to fix this bug one way > or another for 2.0.8. Latest work attached, updated as per discussion with Mark. Still missing #:base-uri (RFC 3986 #5.2) and some polish. For the docs, I believe it best to follow the RFC and leave the existing section on URIs as-is, followed by a new section introducing the other types. This will help avoid conflating the two concepts of URI and URI-reference. Regarding the interface. There is now an abundance of constructors and string converters, one for each specific type. It is also somewhat inconsistent in that there is no need for multiple accessors or ‘uri*->string’ procedures. An alternative interface might employ a single constructor similar to ‘make-time’, using a set of variables/symbols to represent the desired type: build-uri-reference arg ... [#:type=‘uri’] string->uri-reference str [type] where TYPE is one of ‘uri’, ‘uri-reference’, ‘relative-ref’, ‘absolute-uri’. Perhaps even have a single ‘build-uri’ with these semantics. Comments, ideas?