[armedbear-cvs] r13618 - trunk/abcl/doc/manual

mevenson at common-lisp.net mevenson at common-lisp.net
Sun Oct 2 18:18:12 UTC 2011


Author: mevenson
Date: Sun Oct  2 11:18:12 2011
New Revision: 13618

Log:
Clarify PATHNAME class hierarchy.

Modified:
   trunk/abcl/doc/manual/abcl.tex

Modified: trunk/abcl/doc/manual/abcl.tex
==============================================================================
--- trunk/abcl/doc/manual/abcl.tex	Sun Oct  2 07:36:58 2011	(r13617)
+++ trunk/abcl/doc/manual/abcl.tex	Sun Oct  2 11:18:12 2011	(r13618)
@@ -32,8 +32,8 @@
   cmd$ java -jar abcl.jar
 \end{listing-shell}
 
-N.b. for this command to work, the ``java'' executable needs to be in your
-path.
+N.b. for the proceeding command to work, the ``java'' executable needs
+to be in your path.
 
 To make it easier to facilitate the use of ABCL in tool chains (such as
 SLIME) the invocation is wrapped in a Bourne shell script under UNIX
@@ -88,7 +88,7 @@
 
 \section{ANSI Common Lisp}
 ABCL is currently a non-conforming ANSI Common Lisp implementation due
-to the following (known) issues:
+to the following issues:
 
 \begin{itemize}
   \item Missing statement of conformance in accompanying documentation
@@ -303,28 +303,52 @@
     }
 \end{listing-java}
 
+\chapter{Implementation Dependent Extensions}
 
-\section{Java}
+As outlined by the CLHS ANSI conformance guidelines, we document the
+extensions to the Armed Bear Lisp implementation made accessible to
+the user by virtue of being an exported symbol in the JAVA, THREADS,
+or EXTENSIONS packages.
+
+\section{JAVA}
+
+\subsection{Modifying the JVM CLASSPATH}
+
+The JAVA:ADD-TO-CLASSPATH generic functions allows one to add the
+specified pathname or list of pathnames to the current JVM classpath
+allowing the dynamic loading of JVM objects:
+
+\begin{listing-lisp}
+CL-USER> (add-to-classpath "/path/to/some.jar")
+\end{listing-lisp}p
+
+\subsection{API}
 
 % include autogen docs for the JAVA package.
 \include{java}
 
-\section{Multithreading}
+\section{THREADS}
+
+Multithreading
+
+\subsection{API}
 
 % TODO document the THREADS package.
 \include{threads}
 
-\section{Extensions}
+\section{EXTENSIONS}
 
-The symbols in the EXTENSIONS package constitutes extensions to the
-ANSI standard that are potentially useful to the user.  They include
-functions for manipulating network sockets, running external programs,
-registering object finalizers, constructing reference weakly held by
-the garbage collector and others.
+The symbols in the EXTENSIONS package (nicknamed ``EXT'') constitutes
+extensions to the ANSI standard that are potentially useful to the
+user.  They include functions for manipulating network sockets,
+running external programs, registering object finalizers, constructing
+reference weakly held by the garbage collector and others.
 
 See \ref{Extensible Sequences} for a generic function interface to
 the native JVM contract for \code{java.util.List}.
 
+\subsection{API}
+
 \include{extensions}
 
 \chapter{Beyond ANSI}
@@ -349,21 +373,35 @@
 installed at runtime by having JVM symbols present in the
 sun.net.protocol.dynmamic pacakge. See [JAVA2006] for more details.
 
-ABCL has created three specializations of the ANSI Pathname construct
-to enable to use of URIs to address dynamically loaded resources for
-the JVM.
+ABCL has created specializations of the ANSI Pathname object to
+enable to use of URIs to address dynamically loaded resources for the
+JVM.  A URL-PATHNAME has a corresponding URL whose cannoical
+representation is defined to be the NAMESTRING of the Pathname.
 
 PATHNAME : URL-PATHNAME : JAR-PATHNAME
-   : LOGICAL-PATHNAME
 
-Among other neat befits, this allows the ABCL user to laod dynamically
-code from URIs like Quicklisp.
+Both URL-PATHNAME and JAR-PATHNAME may be used anu where will a
+PATHNAME is accepted witht the following caveats
+
+A stream obtained via OPEN on a URL-PATHNAME cannot be the target of
+write operations.
+
+No canonicalization is performed on the underlying URI (i.e. the
+implementation does not attempt to compute the current name of the
+representing resource unless it is requested to be resolved.)  Upon
+resolution, any cannoicalization procedures followed in resolving the
+resource (e.g. following redirects) are discarded.  
+
+The implementation of URL-PATHNAME allows the ABCL user to laod dynamically
+code from the network.  For example, for Quicklisp.
 
 \begin{listing-lisp}
-  CL-USER> (load ''http://beta.quicklisp.org/quicklisp.lisp'')
+  CL-USER> (load "http://beta.quicklisp.org/quicklisp.lisp")
 \end{listing-lisp}
 
+will load and execute the Quicklisp setup code.
 
+\ref{XACH2011}
          
 \section{Extensible Sequences}
 
@@ -439,7 +477,11 @@
 
 \section{References}
 
-[Java2000]:  A New Era for Java Protocol Handlers.  \url{http://java.sun.com/developer/onlineTraining/protocolhandlers}
+[Java2000]:  A New Era for Java Protocol Handlers.
+\url{http://java.sun.com/developer/onlineTraining/protocolhandlers/}
+
+[Xach2011]:  Quicklisp:  A system for quickly constructing Common Lisp
+libraries.  \url{http://www.quicklisp.org/}
 
 
 \end{document}




More information about the armedbear-cvs mailing list