Changeset 14304


Ignore:
Timestamp:
12/06/12 21:17:23 (8 years ago)
Author:
Mark Evenson
Message:

doc: bring trunk to status of RC2 minus abcl-1.1.0 specific text.

Location:
trunk/abcl
Files:
3 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/README

    r14264 r14304  
    5151which should result in output like the following
    5252
    53     Armed Bear Common Lisp 1.1.0-dev
     53    Armed Bear Common Lisp 1.2.0
    5454    Java 1.6.0_21 Sun Microsystems Inc.
    5555    Java HotSpot(TM) Client VM
     
    187187### Tests
    188188
    189 ABCL 1.2.0-dev now fails only 1[2-4] out of 21708 total tests in the ANSI CL
     189ABCL 1.2.0 now fails only 1[4-6] out of 21708 total tests in the ANSI CL
    190190test suite (derived from the tests originally written for GCL).
    191191
  • trunk/abcl/abcl.rdf

    r14276 r14304  
    11# -*- Mode: n3 -*-
    22
    3 @prefix abcl:            <https://abcl.org> .
     3@prefix abcl:            <https://abcl.org#> .
     4<>
     5 abcl:is "W3C Turtle RDF serializations format" ;
     6 abcl:tag   <http://svn.common-lisp.net/tags/1.2.0/> .
     7
    48@prefix doap:            <http://usefulinc.com/ns/doap#> .
    59@prefix rdf:             <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
     
    1216
    1317@prefix dc:              <http://purl.org/dc/elements/1.1/> .
    14 <> dc:modified          "01-DEC-2012" .
     18<>
     19  abcl:tag             <http://svn.common-lisp.net/tags/1.1.0/> ;
     20  dc:identifier        <urn:abcl.org/release/1.1.0> ;           
     21  doap:language        "Common Lisp" ;
     22  dc:created           "01-JAN-2004" ;
     23  dc:modified          "06-DEC-2012" ;
    1524
    16 <> dc:version           "abcl-1.2-dev" .
     25<> dc:version           "abcl-1.2.0" .
     26<>  a abcl:release   "dev" .
    1727
    18 <https://abcl.org/index#doap>
     28<>
     29  rdfs:seeAlso <file:README> ;
     30  rdfs:seeAlso <file:MANUAL> ;
     31   rdfs:seeAlso <file:doc/manual/abcl.tex> .
     32
     33@prefix dc:              <http://purl.org/dc/elements/1.1/> .
     34
     35<abcl:doap>
    1936  a                     doap:Project ;
    2037  doap:label            "Armed Bear Common Lisp" ;
    2138  doap:download    <http://common-lisp.net/project/armedbear/> ;
    22   doap:shortname "ABCL" ;
    23   doap:contributors """( ehu easye v-ille astalla rudi peter)""" .
    2439
    25 <https://abcl.org/index#doap> 
     40  dc:abstract      "An implementation of ANSI Common Lisp that runs on the JVM." ;
     41  doap:shortname   "ABCL" ;
     42  abcl:contributors """ehu easye v-ille astalla rudi peter""" .
     43
     44
     45<abcl:doap>  doap:language  "Common Lisp" .
     46
     47<> <urn:abcl.org:releng:implementation:language> [
     48
     49   a rdf:Bag;
     50   rdf:_1 "Java";
     51   rdf:_2  "Ant";
     52   rdf:_3 "Bourne Shell Script";
     53   rdf:_4"Windows Batch Script"
     54] .
     55
     56
     57<abcl:doap>
     58  dc:contributor [
     59    a rdf:Alt;
     60    rdf:_1 _:ehu ; 
     61    rdf:_2 _:easye ;
     62    rdf:_3 _:ville ;
     63    rdf:_4 _:astala ;
     64    rdf:_5 _:rudi
     65] .
     66
     67<abcl:doap> 
    2668  doap:language
    2769  "Common Lisp", "Java", "Ant", "Bourne Shell Script", "Windows Batch Script"  .
    2870
    29 <https://abcl.org/index#doap>
    30   doap:license  [
    31      dc:license <http://usefulinc.com/doap/licenses/gplv2> ,
    32      <http://usefulinc.com/doap/licenses/gplv2-classpath-exception> ;
    33                ] .
     71_:user dc:identifier <http://ville.not.org/#me>  ;
     72       rdf:label "V-ille"  .
     73
     74
     75 <http://purl.org/dc/elements/1.1/>  rdfs:seeAlso <http://dublincore.org/documents/2012/06/14/dcmi-terms/> .
     76
     77<> doap:license  [
     78     dc:license <http://usefulinc.com/doap/licenses/gplv2> ;
     79     dc:license <http://usefulinc.com/doap/licenses/gplv2-classpath-exception> ;
     80
     81     rdfs:seeAlso <urn:abcl.org/release/1.2.0> ;
     82     dc:licenseDocument <file:COPYING> ;
     83     dc:licenseDocument <http://svn.common-lisp.net/trunk/abcl/src/org/armedbear/LICENSE> ;
     84] .
     85
     86doap:Project rdfs:seeAlso [
     87  a rdf:Bag;
     88  rdf:_1 <http://trac.common-lisp.net/armedbear/timeline> ;
     89  rdf:_2 <http://trac.common-lisp.net/armedbear/wiki> ;
     90  rdf:_3 <http://code.google.com/p/abcl-dynamic-install/> ;
     91  dc:source   abcl:tag ;
     92  dc:Software [
     93     a rdf:Bag;
     94     rdf:_1 <urn:abcl:previousVersion> ;
     95     rdf:_2 <https://code.google.com/p/abcl-dynamic-install/files/abcl-1.1.0-rc-2.jar>
     96  ] ;
     97] .
     98
     99<> abcl:provides <release#abcl-contrib.jar> ;
     100   rdfs:seeAlso <file:contrib/README.markdown>.
     101
     102<> dc:Standard  <urn:abcl.org/ansi/common-lisp#X3J13> ;
     103   rdfs:seeAlso [
     104     a rdf:Bag ;
     105     rdf:_1  <urn:ansi.common-lisp> ;
     106     rdf:_2 "ANSI+INCITS+226-1994+(R2004).pdf"
     107   ] ;
     108   dc:abstract 
     109     "ANSI INCITS 226-1994 (R2004) American National Standard for Programming Language Common LISP (X3J13)" .
     110
     111<> rdfs:seeAlso <urn:abcl.org/ansi/common-lisp#X3J13> .
    34112
    35113doap:Project rdfs:seeAlso
     
    38116  <http://code.google.com/p/abcl-dynamic-install/> .
    39117
    40  
     118<> doap:packages
     119   abcl:abcl-contrib ;
     120   rdfs:seeAlso <file:contrib/README.markdown> .
  • trunk/abcl/doc/manual/Makefile

    r13858 r14304  
    99  pdflatex abcl.tex
    1010
     11#ABCL   = abcl
     12ABCL  = ../../abcl
     13#ABCL = /Users/evenson/work/abcl-1.1.x/abcl
     14
     15# XXX TODO 1) use more compact iterated form, 2) pare down to using --noinit
    1116grovel:
    12   abcl --batch --noinform --load "grovel.lisp" --eval '(progn (grovel-docstrings-as-tex (find-package :java)) (grovel-docstrings-as-tex (find-package :extensions)) (grovel-docstrings-as-tex (find-package :threads)))'
     17  $(ABCL) --batch --noinform --load "grovel.lisp" \
     18    --eval '(grovel-docstrings-as-tex (find-package :java)' \
     19    --eval  '(grovel-docstrings-as-tex (find-package :extensions))' \
     20  --eval  '(grovel-docstrings-as-tex (find-package :threads))' \
     21  --eval  '(grovel-docstrings-as-tex (find-package :system))' \
     22  --eval '(progn (require :abcl-contrib) (require :jss) (grovel-docstrings-as-tex (find-package :jss)))'
    1323
    1424clean:
  • trunk/abcl/doc/manual/abcl.bib

    r13856 r14304  
    55  month =     aug,
    66  year =      2000,
    7   note =      {Last accessed Jan 25, 2012}}
     7  note =      {Last accessed Jan 25, 2012}} % no longer resolving 2012-12-04
    88
    99@Misc{quicklisp,
  • trunk/abcl/doc/manual/abcl.tex

    r14264 r14304  
    99\begin{document}
    1010\title{Armed Bear Common Lisp User Manual}
    11 \date{Version 1.2\\
    12 DRAFT
     11\date{Version 1.1.0\\
    1312\smallskip
    14 December 01, 2012}
     13December 5, 2012}
    1514\author{Mark Evenson \and Erik H\"{u}lsmann \and Rudolf Schlatte \and
    1615  Alessio Stalla \and Ville Voutilainen}
     
    2019\tableofcontents
    2120
    22 %%\chapter{Preface}
    2321%%Preface to the second edition, abcl-1.1.0.
    2422
     23\subsection{Preface to the Second Edition}
     24
     25ABCL 1.1 now contains (A)MOP.  We hope you enjoy!  --The Mgmt.
     26
    2527\chapter{Introduction}
    2628
    2729Armed Bear Common Lisp (ABCL) is an implementation of Common Lisp that
    28 runs on the Java Virtual Machine.  It compiles to Java bytecode and
    29 integrates with Java code and libraries in a seamless way:
     30runs on the Java Virtual Machine.  It compiles Common Lisp to Java 5
     31bytecode, providing the following integration methods for interfacing
     32with Java code and libraries:
    3033\begin{itemize}
    3134\item Lisp code can create Java objects and call their methods (see
     
    6467    result of a merge won't fill in a DEVICE with the wrong "default
    6568    device for the host" in the sense of the fourth paragraph in the
    66     [CLHS description of MERGE-PATHNAMES][2] (the paragraph beginning
     69    CLHS description of MERGE-PATHNAMES (see in \cite{CLHS} the paragraph beginning
    6770    "If the PATHNAME explicitly specifies a host and not a device
").
    6871    A future version of the implementation may return to conformance
     
    9497  in a given call frame, and the inability to resume a halted
    9598  computation at an arbitrarily selected call frame.
    96 \item An incomplete implementation of a proper metaobject protocol
    97   (c.f. the (A)MOP specification~\cite{AMOP, AMOPspec})
    9899\item Incomplete streams abstraction, in that \textsc{ABCL} needs
    99100  suitable abstraction between ANSI and Gray streams.  The streams could
     
    136137using a versioned package on the local filesystem from your system
    137138vendor.  This jar file can be executed from the command line to obtain a
    138 REPL\footnote{Read-Eval Print Loop, a Lisp commandline}, viz:
     139REPL\footnote{Read-Eval Print Loop, a Lisp command-line}, viz:
    139140
    140141\begin{listing-shell}
     
    164165
    165166\begin{description}
    166 \item[\texttt{--help}] displays a help message.
    167 \item[\texttt{--noinform}] Suppresses the printing of startup information and banner.
    168 \item[\texttt{--noinit}] suppresses the loading of the \verb+~/.abclrc+ startup file.
    169 \item[\texttt{--nosystem}] suppresses loading the \texttt{system.lisp} customization file.
    170 \item[\texttt{--eval FORM}] evaluates FORM before initializing the REPL.
    171 \item[\texttt{--load FILE}] loads the file FILE before initializing the REPL.
    172 \item[\texttt{--load-system-file FILE}] loads the system file FILE before initializing the REPL.
    173 \item[\texttt{--batch}] evaluates forms specified by arguments and in
    174   the intialization file \verb+~/.abclrc+, and then exits without
     167\item[\texttt{  --help}] displays a help message.
     168\item[\texttt{  --noinform}] Suppresses the printing of startup information and banner.
     169\item[\texttt{  --noinit}] suppresses the loading of the \verb+~/.abclrc+ startup file.
     170\item[\texttt{  --nosystem}] suppresses loading the \texttt{system.lisp} customization file.
     171\item[\texttt{  --eval FORM}] evaluates FORM before initializing the REPL.
     172\item[\texttt{  --load FILE}] loads the file FILE before initializing the REPL.
     173\item[\texttt{  --load-system-file FILE}] loads the system file FILE before initializing the REPL.
     174\item[\texttt{  --batch}] evaluates forms specified by arguments and in
     175  the initialization file \verb+~/.abclrc+, and then exits without
    175176  starting a REPL.
    176177\end{description}
     
    213214objects, and construction of new Java objects.
    214215
    215 When calling Java routines, some values will automatically be converted
    216 by the FFI\footnote{Foreign Function Interface, the term for the part of
    217   a Lisp implementation that implements calling code written in other
    218   languages.}  from Lisp values to Java values. These conversions
    219 typically apply to strings, integers and floats. Other values need to be
    220 converted to their Java equivalents by the programmer before calling the
    221 Java object method. Java values returned to Lisp are also generally
    222 converted back to their Lisp counterparts. Some operators make an
    223 exception to this rule and do not perform any conversion; those are the
    224 ``raw'' counterparts of certain FFI functions and are recognizable by
    225 their name ending with \code{-RAW}.
     216When calling Java routines, some values will automatically be
     217converted by the FFI\footnote{Foreign Function Interface, is the term
     218  of art for the part of a Lisp implementation which implements
     219  calling code written in other languages, typically normalized to the
     220  local C compiler calling conventions.}  from Lisp values to Java
     221values. These conversions typically apply to strings, integers and
     222floats. Other values need to be converted to their Java equivalents by
     223the programmer before calling the Java object method. Java values
     224returned to Lisp are also generally converted back to their Lisp
     225counterparts. Some operators make an exception to this rule and do not
     226perform any conversion; those are the ``raw'' counterparts of certain
     227FFI functions and are recognizable by their name ending with
     228\code{-RAW}.
    226229
    227230\subsection{Low-level Java API}
     
    738741be passed to the \code{jmake-proxy} generic function.
    739742
     743\subsection{Implementation of Java classes in Lisp}
     744
     745See \code{JAVA:JNEW-RUNTIME-CLASS} on \ref{JAVA:JNEW-RUNTIME-CLASS}.
     746
     747
    740748\chapter{Implementation Dependent Extensions}
    741749
     
    760768(the value of the special variable \code{JAVA:*CLASSLOADER*}. It has
    761769no effect on Java code outside ABCL.
     770
     771\subsection{Creating a synthetic Java Class at Runtime}
     772
     773See \code{JAVA:JNEW-RUNTIME-CLASS} on \ref{JAVA:JNEW-RUNTIME-CLASS}.
    762774
    763775% include autogen docs for the JAVA package.
     
    804816\section{Pathname}
    805817
    806 We implement an extension to the Pathname that allows for the
    807 description and retrieval of resources named in a
     818We implement an extension to the \code{CL:PATHNAME} that allows for
     819the description and retrieval of resources named in a
    808820\textsc{URI} \footnote{A \textsc{URI} is essentially a superset of
    809   what is commonly understood as a \textsc{URL} We sometimesuse the
     821  what is commonly understood as a \textsc{URL} We sometime suse the
    810822  term URL as shorthand in describing the URL Pathnames, even though
    811823  the corresponding encoding is more akin to a URI as described in
    812824  RFC3986 \cite{rfc3986}.}  scheme that the \textsc{JVM}
    813 ``understands''.  Support is built-in to comprehend the ``http'' and
    814 ``https'' implementations but additional protocol handlers may be
    815 installed at runtime by having \textsc{JVM} symbols present in the
    816 sun.net.protocol.dynamic pacakge. See \cite{maso2000} for more
    817 details.
    818 
    819 \textsc{ABCL} has created specializations of the ANSI Pathname object to
    820 enable to use of \textsc{URI}s to address dynamically loaded resources for the
    821 JVM.  A \code{URL-PATHNAME} has a corresponding \textsc{URI} whose canonical
    822 representation is defined to be the \code{NAMESTRING} of the Pathname.
    823 
    824 %
     825``understands''.  By definition, support is built-in into the JVM to
     826access the ``http'' and ``https'' schemes but additional protocol
     827handlers may be installed at runtime by having \textsc{JVM} symbols
     828present in the sun.net.protocol.dynamic package. See \cite{maso2000}
     829for more details.
     830
     831\textsc{ABCL} has created specializations of the ANSI
     832\code{CL:PATHNAME} object to enable to use of \textsc{URI}s to address
     833dynamically loaded resources for the JVM.  The \code{EXT:URL-PATHNAME}
     834specialization. has a corresponding \textsc{URI} whose canonical
     835representation is defined to be the \code{NAMESTRING} of the
     836Pathname. The \code{EXT:JAR-PATHNAME} extension further specializes
     837the the \code{EXT:URL-PATHNAME} to provide access to components of zip
     838archives. 
     839
     840% RDF description of type hierarchy
     841% TODO Render via some LaTeX mode for graphviz?
    825842\begin{verbatim}
    826 
    827 # RDF description of type hierarchy
    828 % TODO Render via some LaTeX mode for graphviz?
    829 
    830   <jar-pathname> a <url-pathname>.
    831   <url-pathname> a <cl:pathname>.
     843  @prefix ext:   <http://abcl.not.org/cl-packages/extensions/> .
     844  @prefix cl:    <http://abcl.not.org/cl-pacages/common-lisp/> .
     845 
     846  <ext:jar-pathname> a <ext:url-pathname>.
     847  <ext:url-pathname> a <cl:pathname>.
    832848  <cl:logical-pathname> a <cl:pathname> .
    833849\end{verbatim}
     
    839855\index{JAR-PATHNAME}
    840856
    841 Both \code{EXT:URL-PATHNAME} and \code{EXT:JAR-PATHNAME} may be used anywhere
    842 a \code{CL:PATHNAME} is accepted with the following caveats:
     857Both the \code{EXT:URL-PATHNAME} and \code{EXT:JAR-PATHNAME} objects
     858may be used anywhere a \code{CL:PATHNAME} is accepted with the
     859following caveats:
    843860
    844861\begin{itemize}
     
    848865
    849866\index{URI}
    850 \item No canonicalization is performed on the underlying \textsc{URI}
    851   (i.e. the implementation does not attempt to compute the current
    852   name of the representing resource unless it is requested to be
    853   resolved.)  Upon resolution, any cannoicalization procedures
     867\item Any results of canonicalization procesures performed on the
     868  underlying \textsc{URI} are discarded between resolutions (i.e. the
     869  implementation does not attempt to cache the results of current name
     870  resolution of the representing resource unless it is requested to be
     871  resolved.)  Upon resolution, any canoicalization procedures
    854872  followed in resolving the resource (e.g. following redirects) are
    855873  discarded.  Users may programatically initiate a new, local
     
    858876  properties of your local \textsc{REST} infrastructure, these results
    859877  may not necessarily be idempotent over time\footnote {See
    860   \cite{evenson2011} for the draft of the publication of the technical
    861   details}.
     878    \cite{evenson2011} for the draft of the publication of the
     879    technical details}.
    862880
    863881\end{itemize}
     
    865883The implementation of \code{EXT:URL-PATHNAME} allows the \textsc{ABCL}
    866884user to dynamically load code from the network.  For example,
    867 Quicklisp (\cite{quicklisp}) may be completely installed from the REPL
     885Quicklisp (\cite{quicklisp}) may be completely installed from the \textsc{REPL}
    868886as the single form:
    869887
     
    874892will load and execute the Quicklisp setup code.
    875893
    876 The implementation currently breaks ANSI conformance by allowing the
    877 types able to be READ for the DEVICE to return a possible CONS of
    878 PATHNAME objects.  %% citation from CLHS needed.
    879 
    880 In order to ``smooth over'' the bit about types being READ from
    881 PATHNAME components, we extend the semantics for the usual PATHNAME
    882 merge semantics when *DEFAULT-PATHNAME-DEFAULTS* contains a
    883 \code{JAR-PATHNAME}. 
     894The implementation currently breaks \textsc{ANSI} conformance by allowing the
     895types able to be \code{CL:READ} for the \var{DEVICE} to return a possible \code{CONS} of
     896\code{CL:PATHNAME} objects.  %% citation from CLHS needed.
     897
     898In order to ``smooth over'' the bit about types being \code{CL:READ} from
     899\code{CL:PATHNAME} components, we extend the semantics for the usual PATHNAME
     900merge semantics when \code{*DEFAULT-PATHNAME-DEFAULTS*} contains a
     901\code{EXT:JAR-PATHNAME}. 
    884902
    885903%See \ref{_:quicklisp} on page \pageref{_:quicklisp}.
     
    888906
    889907The implementation of these extensions stores all the additional
    890 information in the PATHNAME object itself in ways that while strictly
     908information in the \code{CL:PATHNAME} object itself in ways that while strictly
    891909speaking are conformant, nonetheless may trip up libraries that don't
    892910expect the following:
     
    894912\begin{itemize}
    895913\item \code{DEVICE} can be either a string denoting a drive letter
    896   under DOS or a list of exactly one or two elements.  If
    897   \code{DEVICE} is a list, it denotes a \code{JAR-PATHNAME}, with the entries
    898   containing \code{PATHNAME} objects which describe the outer and (possibley)
    899   locations of the jar archive.
    900 
    901 \item A \code{URL-PATHNAME} always has a \code{HOST} component that is a
     914  under \textsc{DOS} or a list of exactly one or two elements.  If
     915  \code{DEVICE} is a list, it denotes a \code{EXT:JAR-PATHNAME}, with
     916  the entries containing \code{CL:PATHNAME} objects which describe the
     917  outer and (possibly inner) locations of the jar
     918  archive \footnote{The case of inner and outer
     919    \code{EXT:EJAR-PATHNAME} arises when zip archives themselves
     920    contain zip archives which is the case when the ABCL fasl is
     921    included in the abcl.jar zip archive.}.
     922
     923\item A \code{EXT:URL-PATHNAME} always has a \code{HOST} component that is a
    902924  property list.  The values of the \code{HOST} property list are
    903925  always character strings.  The allowed keys have the following meanings:
     
    910932  \end{description}
    911933
    912 
    913934\item In order to encapsulate the implementation decisions for these
    914935  meanings, the following functions provide a setf-able API for
     
    946967abstractions on the standard Java collection classes as defined by the
    947968\code{java.util.List} contract.
     969
     970%% an Example of using java.util.Lisp in Lisp would be nice
    948971
    949972This extension is not automatically loaded by the implementation.   It
     
    10161039  compromise with contemporary in 2011 32bit hosting architecures for
    10171040  which we wish to make text processing efficient.  Should the User
    1018   require more control over UNICODE processing we recommend Edi Weisz'
    1019   excellent work with FLEXI-STREAMS which we fully support}, namely we
     1041  require more control over \textsc{UNICODE} processing we recommend Edi Weisz'
     1042  excellent work with \textsc|{FLEXI-STREAMS} which we fully support}, namely we
    10201043allow a sequences of the form \verb~#\U~\emph{\texttt{xxxx}} to be processed
    10211044by the reader as character whose code is specified by the hexadecimal
     
    10551078        These systems name common JVM artifacts from the distributed pom.xml graph of Maven Aether:
    10561079        \begin{enumerate}
    1057           \item \code{jna} Dynamically load 'jna.jar' version 3.4.0 from the network.
     1080          \item \code{jna} Dynamically load 'jna.jar' version 3.5.1
     1081            from the network \footnote{This loading can be inhibited
     1082              if, at runtime, the Java class corresponding
     1083              ``:classname'' clause of the system defition is present.}
    10581084        \end{enumerate}
    10591085      \item \code{quicklisp-abcl} (Not working) boot a local Quicklisp
     
    10731099
    10741100The JSS contrib consitutes an additional, optional extension to the
    1075 reader in the definition of the \#\" reader macro.  See section
    1076 \ref{section:jss} on page \pageref{section:jss} for more information.
     1101reader in the definition of the \code{SHARPSIGN-DOUBLE-QUOTE}
     1102(``\#\"'') reader macro.  See section \ref{section:jss} on page
     1103\pageref{section:jss} for more information.
    10771104
    10781105\section{ASDF}
    10791106
    1080 asdf-2.25 (see \cite{asdf}) is packaged as core component of ABCL,
     1107asdf-2.26.6 (see \cite{asdf}) is packaged as core component of ABCL,
    10811108but not initialized by default, as it relies on the CLOS subsystem
    10821109which can take a bit of time to start \footnote{While this time is
     
    11161143
    11171144
    1118 The following \textsc{ASDF} components are added: \code{JAR-FILE},
    1119 \code{JAR-DIRECTORY}, \code{CLASS-FILE-DIRECTORY} and \code{MVN}.
    1120 
     1145When loaded, abcl-asdf adds the following objects to \textsc{ASDF}:
     1146\code{JAR-FILE}, \code{JAR-DIRECTORY}, \code{CLASS-FILE-DIRECTORY} and
     1147\code{MVN}, exporting them (and others) as public symbols.
    11211148
    11221149\subsection{Referencing Maven Artifacts via ASDF}
     
    11971224To one used to the more universal syntax of Lisp pairs upon which the
    11981225definition of read and compile time macros is quite
    1199 natural \footnote{See Graham's ``On Lisp'' http://lib.store.yahoo.net/lib/paulgraham/onlisp.pdf.}, the Java syntax available to
    1200 the Java programmer may be said to suck.  To alleviate this situation,
    1201 the JSS contrib introduces the \code{SHARPSIGN-DOUBLE-QUOTE}
    1202 (\code{\#"}) reader macro, which allows the the specification of the
    1203 name of invoking function as the first element of the relevant s-expr
    1204 which tends to be more congruent to how Lisp programmers seem to be
    1205 wired to think.
     1226natural \footnote{See Graham's ``On Lisp''
     1227  http://lib.store.yahoo.net/lib/paulgraham/onlisp.pdf.}, the Java
     1228syntax available to the Java programmer may be said to suck.  To
     1229alleviate this situation, the JSS contrib introduces the
     1230\code{SHARPSIGN-DOUBLE-QUOTE} (\code{\#"}) reader macro, which allows
     1231the the specification of the name of invoking function as the first
     1232element of the relevant s-expr which tends to be more congruent to how
     1233Lisp programmers seem to be wired to think.
    12061234
    12071235While quite useful, we don't expect that the JSS contrib will be the
     
    12261254\url{http://svn.common-lisp.net/armedbear/trunk/abcl/contrib/jss/README.markdown}
    12271255
     1256\section{jfli}
     1257\label{section:jfli}
     1258
     1259The contrib contains a pure-Java version of JFLI.
     1260
    12281261\section{asdf-install}
    12291262
     
    12591292on January 10, 2012.
    12601293
    1261 In October 2012, we revised the implementation with the release of
    1262 abcl-1.1.0 and accumulated changes to this manual.
     1294In December 2012, we revised the implementation by adding (A)MOP
     1295with the release of abcl-1.1.0.
     1296
     1297\appendix
     1298
     1299\chapter{The MOP Dictionary}
     1300
     1301\include{mop}o
     1302
     1303\chapter{The SYSTEM Dictionary}
     1304
     1305The public interfaces in this package are subject to change with
     1306ABCL 1.2.
     1307
     1308\include{system}
     1309
     1310\chapter{The JSS Dictionary}
     1311
     1312These public interfaces are provided by the JSS contrib.
     1313
     1314\include{jss}
     1315
    12631316
    12641317\bibliography{abcl}
Note: See TracChangeset for help on using the changeset viewer.