Ignore:
Timestamp:
10/02/11 18:18:12 (10 years ago)
Author:
Mark Evenson
Message:

Clarify PATHNAME class hierarchy.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/doc/manual/abcl.tex

    r13612 r13618  
    3333\end{listing-shell}
    3434
    35 N.b. for this command to work, the ``java'' executable needs to be in your
    36 path.
     35N.b. for the proceeding command to work, the ``java'' executable needs
     36to be in your path.
    3737
    3838To make it easier to facilitate the use of ABCL in tool chains (such as
     
    8989\section{ANSI Common Lisp}
    9090ABCL is currently a non-conforming ANSI Common Lisp implementation due
    91 to the following (known) issues:
     91to the following issues:
    9292
    9393\begin{itemize}
     
    304304\end{listing-java}
    305305
    306 
    307 \section{Java}
     306\chapter{Implementation Dependent Extensions}
     307
     308As outlined by the CLHS ANSI conformance guidelines, we document the
     309extensions to the Armed Bear Lisp implementation made accessible to
     310the user by virtue of being an exported symbol in the JAVA, THREADS,
     311or EXTENSIONS packages.
     312
     313\section{JAVA}
     314
     315\subsection{Modifying the JVM CLASSPATH}
     316
     317The JAVA:ADD-TO-CLASSPATH generic functions allows one to add the
     318specified pathname or list of pathnames to the current JVM classpath
     319allowing the dynamic loading of JVM objects:
     320
     321\begin{listing-lisp}
     322CL-USER> (add-to-classpath "/path/to/some.jar")
     323\end{listing-lisp}p
     324
     325\subsection{API}
    308326
    309327% include autogen docs for the JAVA package.
    310328\include{java}
    311329
    312 \section{Multithreading}
     330\section{THREADS}
     331
     332Multithreading
     333
     334\subsection{API}
    313335
    314336% TODO document the THREADS package.
    315337\include{threads}
    316338
    317 \section{Extensions}
    318 
    319 The symbols in the EXTENSIONS package constitutes extensions to the
    320 ANSI standard that are potentially useful to the user.  They include
    321 functions for manipulating network sockets, running external programs,
    322 registering object finalizers, constructing reference weakly held by
    323 the garbage collector and others.
     339\section{EXTENSIONS}
     340
     341The symbols in the EXTENSIONS package (nicknamed ``EXT'') constitutes
     342extensions to the ANSI standard that are potentially useful to the
     343user.  They include functions for manipulating network sockets,
     344running external programs, registering object finalizers, constructing
     345reference weakly held by the garbage collector and others.
    324346
    325347See \ref{Extensible Sequences} for a generic function interface to
    326348the native JVM contract for \code{java.util.List}.
     349
     350\subsection{API}
    327351
    328352\include{extensions}
     
    350374sun.net.protocol.dynmamic pacakge. See [JAVA2006] for more details.
    351375
    352 ABCL has created three specializations of the ANSI Pathname construct
    353 to enable to use of URIs to address dynamically loaded resources for
    354 the JVM.
     376ABCL has created specializations of the ANSI Pathname object to
     377enable to use of URIs to address dynamically loaded resources for the
     378JVM.  A URL-PATHNAME has a corresponding URL whose cannoical
     379representation is defined to be the NAMESTRING of the Pathname.
    355380
    356381PATHNAME : URL-PATHNAME : JAR-PATHNAME
    357    : LOGICAL-PATHNAME
    358 
    359 Among other neat befits, this allows the ABCL user to laod dynamically
    360 code from URIs like Quicklisp.
     382
     383Both URL-PATHNAME and JAR-PATHNAME may be used anu where will a
     384PATHNAME is accepted witht the following caveats
     385
     386A stream obtained via OPEN on a URL-PATHNAME cannot be the target of
     387write operations.
     388
     389No canonicalization is performed on the underlying URI (i.e. the
     390implementation does not attempt to compute the current name of the
     391representing resource unless it is requested to be resolved.)  Upon
     392resolution, any cannoicalization procedures followed in resolving the
     393resource (e.g. following redirects) are discarded. 
     394
     395The implementation of URL-PATHNAME allows the ABCL user to laod dynamically
     396code from the network.  For example, for Quicklisp.
    361397
    362398\begin{listing-lisp}
    363   CL-USER> (load ''http://beta.quicklisp.org/quicklisp.lisp'')
     399  CL-USER> (load "http://beta.quicklisp.org/quicklisp.lisp")
    364400\end{listing-lisp}
    365401
    366 
     402will load and execute the Quicklisp setup code.
     403
     404\ref{XACH2011}
    367405         
    368406\section{Extensible Sequences}
     
    440478\section{References}
    441479
    442 [Java2000]:  A New Era for Java Protocol Handlers.  \url{http://java.sun.com/developer/onlineTraining/protocolhandlers}
     480[Java2000]:  A New Era for Java Protocol Handlers.
     481\url{http://java.sun.com/developer/onlineTraining/protocolhandlers/}
     482
     483[Xach2011]:  Quicklisp:  A system for quickly constructing Common Lisp
     484libraries.  \url{http://www.quicklisp.org/}
    443485
    444486
Note: See TracChangeset for help on using the changeset viewer.