Changeset 13648


Ignore:
Timestamp:
10/21/11 07:48:44 (12 years ago)
Author:
Mark Evenson
Message:

Manual editing, setting dates correctly.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/1.0.x/abcl/doc/manual/abcl.tex

    r13646 r13648  
    1313\chapter{Introduction}
    1414
    15 Armed Bear is a mostly conforming implementation of the ANSI Common
     15Armed Bear is a (mostly) conforming implementation of the ANSI Common
    1616Lisp standard.  This manual documents the Armed Bear Common Lisp
    1717implementation for users of the system.
     
    3636to be in your path.
    3737
    38 To make it easier to facilitate the use of ABCL in tool chains (such as
    39 SLIME) the invocation is wrapped in a Bourne shell script under UNIX
    40 or a DOS command script under Windows so that ABCL may be executed
    41 simply as:
     38To make it easier to facilitate the use of ABCL in tool chains (such
     39as SLIME \footnote{SLIME is the Superior Lisp Mode for Interaction
     40  under Emacs}) the invocation is wrapped in a Bourne shell script
     41under UNIX or a DOS command script under Windows so that ABCL may be
     42executed simply as:
    4243
    4344\begin{listing-shell}
     
    8384
    8485The user's home directory is determined by the value of the JVM system
    85 property ``user.home''.
     86property ``user.home''.  This value may--or may not--correspond to the
     87value of the HOME system environment variable at the discretion of the
     88JVM implementation that \textsc{ABCL} finds itself hosted upon.
    8689
    8790\chapter{Conformance}
     
    97100\end{itemize}
    98101
     102Somewhat confusingly, this statement of non-conformance
     103in the accompanying user documentation fullfills the requirements that
     104\textsc{ABCL} is a conforming ANSI Common Lisp implementation
     105according to the CLHS \footnote{Common Lisp Hyperspec language
     106  reference document.}.  Clarifications to this point are solicited.
     107
    99108ABCL aims to be be a fully conforming ANSI Common Lisp implementation.
    100109Any other behavior should be reported as a bug.
     
    102111\section{Contemporary Common Lisp}
    103112In addition to ANSI conformance, \textsc{ABCL} strives to implement features
    104 expected of a contemporary Common Lisp.
     113expected of a contemporary Common Lisp \footnote{i.e. a Lisp of the
     114  post 2005 Renaissance}
    105115
    106116\subsection{Deficiencies}
     
    108118contemporary Comon Lisp.
    109119\begin{itemize}
    110   \item Incomplete (A)MOP \footnote{Another Metaobject Protocol}
    111     % N.B.
     120  \item An incomplete implementation of a properly named metaobject
     121    protocol (viz. (A)MOP \footnote{Another Metaobject Protocol} )
     122
     123    % N.b.
    112124    % TODO go through AMOP with symbols, starting by looking for
    113125    % matching function signature.
    114126    % XXX is this really blocking ANSI conformance?  Answer: we have
    115127    % to start with such a ``census'' to determine what we have.
    116   \item Incomplete streams work, in that \textsc{ABCL} needs suitable
    117     abstraction between ANSI and Gray streams.
     128
     129  \item Incomplete streams abstraction, in that \textsc{ABCL} needs suitable
     130    abstraction between ANSI and Gray streams.  The streams could be
     131    optimized to the JVM NIO abstractions at great profit for binary
     132    byte-level manipulations.
    118133   
     134  \item Incomplete documentation (missing docstrings from exported
     135      symbols.
     136
    119137\end{itemize}
    120138
    121139\chapter{Interaction with Hosting JVM}
    122140
     141%  Plan of Attack
     142%
    123143% describe calling Java from Lisp, and calling Lisp from Java,
    124144% probably in two separate sections.  Presumably, we can partition our
     
    126146% that are more comforable with Lisp
    127147
    128 The Armedbear Common Lisp implementation is hosted on a Java Virtual
     148The Armed Bear Common Lisp implementation is hosted on a Java Virtual
    129149Machine.  This chapter describes the mechanisms by which the
    130150implementation interacts with that hosting mechanism.
     
    152172\subsection{Low-level Java API}
    153173
    154 There's a higher level Java API defined in the
    155 \ref{topic:Higher level Java API: JSS}(JSS package) which is available
    156 in the \code{contrib/} directory. This package is described later in this
    157 document.  This section covers the lower level API directly available
    158 after evaluating \code{(require 'JAVA)}.
    159 
    160 \subsubsection{Calling Java object methods}
    161 
    162 There are two ways to call a Java object method in the basic API:
     174We define a higher level Java API in the \ref{topic:Higher level Java
     175  API: JSS}(JSS package) which is available in the \code{contrib/} \ref{topic:contrib}
     176directory. This package is described later in this document.  This
     177section covers the lower level API directly available after evaluating
     178\code{(require 'JAVA)}.
     179
     180\subsubsection{Calling Java Object Methods}
     181
     182There are two ways to call a Java object method in the low-level (basic) API:
    163183
    164184\begin{itemize}
     
    200220select the best matching method and dispatch the call.
    201221
    202 \subsubsection{Dynamic dispatch: caveats}
     222\subsubsection{Dynamic dispatch: Caveats}
    203223
    204224Dynamic dispatch is performed by using the Java reflection
     
    964984
    965985ABCL was originally the extension language for the J editor, which was
    966 started in 1998 by Peter Graves.  Sometime in 2003, it seems that a
    967 lot of code that had previously not been released publically was
    968 suddenly committed that enabled ABCL to be plausibly termed an ANSI
    969 Common Lisp implementation.
     986started in 1998 by Peter Graves.  Sometime in 2003, a whole lot of
     987code that had previously not been released publically was suddenly
     988committed that enabled ABCL to be plausibly termed an emergent ANSI
     989Common Lisp implementation canidate.
    970990
    971991In 2006, the implementation was transferred to the current
     
    973993contemporary Common Lisp implementation.
    974994
    975 In 201x, with the publication of this Manual explicitly stating the
    976 conformance of Armed Bear Common Lisp to ANSI, we release abcl-1.0.
     995On October 22, 2011, with the publication of this Manual explicitly
     996stating the conformance of Armed Bear Common Lisp to ANSI, we released
     997abcl-1.0.0.
    977998
    978999
     
    9871008libraries.  \url{http://www.quicklisp.org/}
    9881009
     1010[RHODES2007]:  Christopher Rhodes
     1011
    9891012
    9901013\end{document}
     
    9921015% TODO
    9931016%   1.  Create mechanism for swigging DocString and Lisp docs into
    994 %       sections.
    995 
     1017%       sections ('grovel.lisp')
     1018
Note: See TracChangeset for help on using the changeset viewer.