source: branches/streams/abcl/doc/design/pathnames/pathnames.tex

Last change on this file was 13856, checked in by Mark Evenson, 13 years ago

manual: clarify the interface for the default implementation for cannonicalization of URIs.

File size: 2.2 KB
Line 
1% -*- mode: latex; -*-
2% http://en.wikibooks.org/wiki/LaTeX/
3\documentclass[10pt]{article}
4% \usepackage{abcl}
5
6\begin{document}
7\title{An Implementation and Analysis of Adding IRI to Common Lisp's Pathname}
8\date{October 2011}
9\author{Mark~Evenson}
10
11\maketitle
12
13\section{Abstract}
14
15We implement the semantics for distributed resource description and
16retrieval by URL/URI/IRI Pathname in the Armed Bear Common Lisp
17implementation.
18
19\section{Plan of Attach}
20\subsection{Goals}
21
22\begin{enumerate]
23\item Use Common Lisp pathnames to refer to representations referenced
24  by a URL.
25
26\item The URL schemes supported shall include at least "http", and
27  those enabled by the URLStreamHandler extension mechanism.
28
29\item  Use URL schemes that are understood by the java.net.URL object.
30
31
32\item  MERGE-PATHNAMES
33
34        (merge-pathnames "url.asd"
35            "http://example/org/armedbear/systems/pgp.asd")
36        ==> "http://example/org/armedbear/systems/url.asd"
37
38\item  PROBE-FILE returning the state of URL accesibility.
39
40\item  TRUENAME "aliased" to PROBE-FILE signalling an error if the URL is
41not accessible (see "Non-goal 1").
42
43\item  DIRECTORY works for non-wildcards.
44
45\item  URL pathname work as a valid argument for OPEN with :DIRECTION :INPUT.
46
47\item  Enable the loading of ASDF2 systems referenced by a URL pathname.
48
49\item  Pathnames constructed with the "file" scheme
50(i.e. #p"file:/this/file") need to be properly URI encoded according
51to RFC3986 or otherwise will signal FILE-ERROR. 
52
53\item.  The "file" scheme will continue to be represented by an
54"ordinary" Pathname.  Thus, after construction of a URL Pathname with
55the "file" scheme, the namestring of the resulting PATHNAME will no
56longer contain the "file:" prefix.
57
58\item.  The "jar" scheme will continue to be represented by a jar
59Pathname.
60\end{enumerate}
61
62\subsection{Non-goals}
63
64\begin{enumerate}
65
66\item We will not implement canonicalization of URL schemas (such as
67  following "http" redirects).
68
69\item \textsc{DIRECTORY} will not work for URL pathnames containing
70  wildcards.
71
72\end{enumerate}
73
74\subsubsection{Example}
75    Example of a Pathname specified by URL:
76   
77        #p"http://example.org/org/armedbear/systems/pgp.asd"
78   
79
80
81\section{Notes}
82\include{notes}
83
84\end{document}
85
Note: See TracBrowser for help on using the repository browser.