abcl-1.5.0-rc-0: drop support for Java 5

Initial documentation and metadata update for ABCL 1.5.0.
parent ba0019c9
......@@ -5,6 +5,11 @@ Version 1.5.0
* abcl-introspect
......@@ -20,7 +25,7 @@ Fixes
* ASDF 3.2.0
* ASDF 3.2.1
Version 1.4.0
......@@ -92,7 +92,7 @@ RUNNING FROM BINARY RELEASE
After you have downloaded a binary release from either
[Maven][maven-abcl] or from [][] archive
unpack it into its own directory. To run ABCL directly from this
directory, make sure Java (version 1.5 or up) is in your shell's
directory, make sure Java (version 1.6 or up) is in your shell's
[maven-abcl]: <>
......@@ -105,7 +105,7 @@ Then issue the following command:
which should result in output like the following
Armed Bear Common Lisp 1.4.0
Armed Bear Common Lisp 1.5.0
Java 1.8.0_102 Oracle Corporation
Java HotSpot(TM) 64-Bit Server VM
Low-level initialization completed in 0.324 seconds.
......@@ -282,6 +282,6 @@ On behalf of all ABCL development team and contributors,
October 2016
June 2017
......@@ -19,12 +19,12 @@
dc:identifier <> ;
doap:language "Common Lisp" ;
dc:created "01-JAN-2004" ;
dc:modified "03-FEB-2017" ;
dc:modified "07-JUN-2017" ;
dc:version "abcl-1.5.0" ;
dc:release "dev" ;
dc:release "rc-0" ;
abcl:git <> ; # Does this overwrite? TODO Check RDF specs.
abcl:git <> ;
abcl:svn <> .
abcl:svn <> . ;; UPDATE
rdfs:seeAlso <file:README> ;
......@@ -99,7 +99,7 @@ _:user dc:identifier <> ;
doap:Project rdfs:seeAlso [
a rdf:Bag;
rdf:_0 <> ;
rdf:_0 <> ;
rdf:_1 <> ;
rdf:_2 <> ;
rdf:_4 <> ;
......@@ -116,6 +116,7 @@ doap:Project rdfs:seeAlso [
rdf:_14 <> ;
rdf:_7 <> ;
rdf:_8 <> ;
rdf:_9 <> ;
] ;
] .
......@@ -154,8 +155,13 @@ doap:Project rdfs:seeAlso
rdf:_10 abcl:abcl-introspect ;
] .
abcl:jna dc:version "4.2.2" .
abcl:asdf dc:version "3.2.0" .
dc:version "4.2.2" .
dc:version "3.2.1" .
rdfs:seeAlso <file:contrib/abcl-introspect/README.markdown> .
rdfs:seeAlso <file:contrib/README.markdown> .
......@@ -4,6 +4,11 @@ ABCL-CONTRIB
The contributions to Armed Bear constitute Common Lisp only code that
is potentially useful for system construction and distribution.
As such, these contributions have varying license terms which the end
user needs to accept on her own terms. Please see the licensing
metadata as expressed in the ASDF definitions for the status of your
Loads and installs the Quicklisp library manager from the network
......@@ -20,7 +25,6 @@ asdf-jar
Package ASDF system definitions into JVM artifacts for
......@@ -30,7 +34,7 @@ jss
[lsw2][] Semantic Web package for dealing with OWL2 ontologies in
RDF(S) and other notations.
......@@ -70,11 +74,32 @@ abcl-build
The ABCL build system plus associated utilities for manipulating
path executables
named-readtables (BSD Licensed)
From <>:
Named-Readtables is a library that provides a namespace for
readtables akin to the already-existing namespace of packages. In
- you can associate readtables with names, and retrieve
readtables by names;
- you can associate source files with readtable names, and be
sure that the right readtable is active when compiling/loading
the file;
- similiarly, your development environment now has a chance to
automatically determine what readtable should be active while
processing source forms on interactive commands. (E.g. think of
`C-c C-c` in Slime (yet to be done))
# Colophon
Mark <>
Created: 2011-09-11
Revised: 2017-05-22
Revised: 2017-07-07
<> abcl:documents <> .
......@@ -24,7 +24,6 @@ of the manual:
(require :abcl-contrib)
(require :jss)
(asdf:load-system :abcl/documentation)
(loop :for package
:in '(:java :ext :sys :jss :mop :threads)
(dolist (package '(:java :ext :sys :jss :mop :threads))
:doing (abcl/documentation:grovel-docstrings-as-tex :package package))
......@@ -8,22 +8,36 @@
\title{Armed Bear Common Lisp User Manual}
\date{Version 1.5.0-dev\\
\date{Version 1.5.0-rc-0\\
December 2016}
June 2017}
\author{Mark Evenson \and Erik H\"{u}lsmann \and Rudolf Schlatte \and
Alessio Stalla \and Ville Voutilainen}
%%Preface to the Sixth edition, abcl-1.5.0
\subsection{Preface to the Sixth Edition}
With the sixth major release of the implementation, we make the
following explicit revision of our compatibility to the underlying
JVM. Since we are an open source implementation, we insist on
possible open access to the sources from with an JDK may both be built
and run upon. This requirement is no longer met by Java 5, so with
the release of \textsc{ABCL} 1.5 the henceforth the minimal platform
for ABCL will be Java 6.
%% We should probably not release a 1.5.0, go straight for abcl-1.6.0?
%% Not worth the effort: Java 9 is the current abcl-1.6.0 release driver.
%%Preface to the Fifth edition, abcl-1.4.0
\subsection{Preface to the Fifth Edition}
\textsc{ABCL} 1.4 consolidates eighteen months of production bugfixes,
and substantially improves the support for invoking external
processes via SYS:RUN-PROGRAM.
processes via \code{SYS:RUN-PROGRAM}.
%%Preface to the Fourth edition, abcl-1.3.
\subsection{Preface to the Fourth Edition}
......@@ -143,7 +157,7 @@ contemporary Common Lisp.
\textsc{ABCL} is licensed under the terms of the \textsc{GPL} v2 of
June 1991 with the ``classpath-exception'' (see the file
\texttt{COPYING} in the source distribution \footnote{See
\url{}} for
\url{}} for
the license, term 13 in the same file for the classpath exception).
This license broadly means that you must distribute the sources to
\textsc{ABCL}, including any changes you make, together with a program that
......@@ -169,7 +183,7 @@ course.
\textsc{ABCL} is packaged as a single jar file usually named either
\texttt{abcl.jar} or possibly something like \texttt{abcl-1.4.0.jar} if
\texttt{abcl.jar} or possibly something like \texttt{abcl-1.5.0.jar} if
using a versioned package on the local filesystem from your system
vendor. This jar file can be executed from the command line to obtain a
\textsc{REPL}\footnote{Read-Eval Print Loop, a Lisp command-line}, viz:
......@@ -1186,7 +1200,7 @@ where \code{CLASS-STRING} is a string naming a Java class in dotted package
For instance the following specialization would perhaps allow one to
print more information about the contents of a java.util.Collection
print more information about the contents of a \code{java.util.Collection}
......@@ -1294,6 +1308,9 @@ semantics to the execution of \code{REQUIRE} on the following symbols:
\item \code{abcl-introspect} Provides a framework for
introspecting runtime Java and Lisp object values.
\item \code{abcl-build} Provides a toolkit for building ABCL
from source, as well as installing the necessary tools for
such builds.
......@@ -1314,7 +1331,7 @@ reader in the definition of the \code{SHARPSIGN-DOUBLE-QUOTE}
asdf-3.2.0 (see \cite{asdf}) is packaged as core component of \textsc{ABCL},
asdf-3.2.1 (see \cite{asdf}) is packaged as core component of \textsc{ABCL},
but not initialized by default, as it relies on the \textsc{CLOS} subsystem
which can take a bit of time to start \footnote{While this time is
``merely'' on the order of seconds for contemporary 2011 machines,
......@@ -1331,7 +1348,7 @@ CL-USER> (require :asdf)
The \textsc{ABCL} contrib is packaged as a separate jar archive usually named
\code{abcl-contrib.jar} or possibly something like
\code{abcl-contrib-1.4.0.jar}. The contrib jar is not loaded by the
\code{abcl-contrib-1.5.0.jar}. The contrib jar is not loaded by the
implementation by default, and must be first intialized by the
\code{REQUIRE} mechanism before using any specific contrib:
......@@ -1420,7 +1437,7 @@ Notice that all recursive dependencies have been located and installed
locally from the network as well.
More extensive documentations and examples can be found at
......@@ -1431,7 +1448,7 @@ this package will recursively package all the required source and
fasls in a jar archive.
The documentation for this contrib can be found at
......@@ -1466,25 +1483,32 @@ CL-USER) (#"propertyNames" (#"getProperties" 'java.lang.System))
\end{listing-lisp} %$ <-- un-confuse Emacs font-lock
Some more information on jss can be found in its documentation at
The contrib contains a pure-Java version of JFLI.
\textsc{ABCL-INTROSPECT} offers more extensive systems for inspecting the state
of the implementation, most notably in integration with SLIME, where
the backtrace mechanism is augmented to the poiont that local
variables are inspectable.
A compiled function is an instance of a class - This class has
multiple instances if it represents a closure, or a single instance if
it represents a non-closed-over function.
The ABCL compiler stores constants that are used in function execution
as private java fields. This includes symbols used to invoke function,
locally-defined functions (such as via labels or flet) and string and
other literal
The \textsc{ABCL} compiler stores constants that are used in function
execution as private java fields. This includes symbols used to invoke
function, locally-defined functions (such as via \code{LABEL} or
\code{flet}) and string and other literal objects.
\textsc{ABCL-INTROSPECT} implements a ``do what I mean'' API for
introspecting these constants.
ABCL-INTROSPECT provides access to those internal values, and
uses them in at least two ways. First, to annotate locally defined
......@@ -1500,7 +1524,6 @@ useful. The second use to to find source locations for frames in the
debugger. If the source location for a local function is asked for the
location of its 'owner' is instead returns.
In order to record information about local functions, ABCL defines a
function-plist, which is for the most part unused, but is used here
with set of keys indicating where the local function was defined and
......@@ -1512,8 +1535,41 @@ to to take them into account as they are discovered.
ABCL-INTROSPECT does not depend on jss, but provides a bit of
jss-specific functionality if jss *is* loaded.
\textsc{ABCL-BUILD} constitutes a new implementation for the original
Lisp-hosted ABCL build system API in the package \code{ABCL-BUILD}
that uses the same build artifacts as all of the other current builds.
\textsc{ABCL-BUILD} consolidates various utilities that are useful
for system construction, namely
\item The ability to introspect the invocation of given executable in
the current implementation process PATH.
\item Downloading and unpackages selected JVM artifacts, namely the
Ant and Maven build tools. The \code{ABCL-BUILD:WITH-ANT} and
\code{ABCL-BUILD:WITH-MVN} macros abstracts this installation
procedure conveniently away from the User.
\item The beginings of a generic framework to download arbitrary
archives from the network.
\code{NAMED-READTABLES} is a library that provides a namespace for
readtables akin to the already-existing namespace of packages.
......@@ -465,7 +465,7 @@ EXTERNAL-FORMAT must be of the same format as specified for OPEN.
--- Function: \textbf{get-time-zone} [\textbf{extensions}] \textit{time-in-millis}
Return the timezone difference in hours for TIME-IN-MILLIS via the Daylight assumptions that were in place at its occurance. i.e. implement 'time of the time semantics'.
Returns as the first value the timezone difference in hours from the Greenwich meridian for TIME-IN-MILLIS via the Daylight Savings Time assumptions that were in place at the instant's occurance. Returns as the second value a boolean as to whether daylight savings time was in effect at the occurance.
......@@ -86,10 +86,10 @@ not-documented
--- Function: \textbf{describe-java-object} [\textbf{java}] \textit{}
--- Function: \textbf{describe-java-object} [\textbf{java}] \textit{object stream}
Print a human friendly description of Java OBJECT to STREAM.
......@@ -346,7 +346,9 @@ When called with one argument, returns the name of the Java class
--- Function: \textbf{jclass-of} [\textbf{java}] \textit{object \&optional name}
Returns the name of the Java class of OBJECT. If the NAME argument is
supplied, verifies that OBJECT is an instance of the named class. The name
of the class or nil is always returned as a second value.
......@@ -65,7 +65,7 @@ If OBJECT is a symbol it names a dot qualified static FIELD.
--- Function: \textbf{hashmap-to-hashtable} [\textbf{jss}] \textit{hashmap \&rest rest \&key (keyfun (function identity)) (valfun (function identity)) (invert? nil) table \&allow-other-keys}
--- Function: \textbf{hashmap-to-hashtable} [\textbf{jss}] \textit{hashmap \&rest rest \&key (keyfun (function identity)) (valfun (function identity)) (invert? NIL) table \&allow-other-keys}
Converts the a HASHMAP reference to a java.util.HashMap object to a Lisp hashtable.
......@@ -90,7 +90,7 @@ Push these imports onto the search path. If multiple, earlier in list take prece
--- Function: \textbf{invoke-restargs} [\textbf{jss}] \textit{method object args \&optional (raw? nil)}
--- Function: \textbf{invoke-restargs} [\textbf{jss}] \textit{method object args \&optional (raw? NIL)}
......@@ -619,7 +619,8 @@ should be checked for wildness.
--- Variable: \textbf{*abcl-contrib*} [\textbf{system}] \textit{}
Pathname of the ABCL contrib.
Pathname of the abcl-contrib artifact.
Initialized via SYSTEM:FIND-CONTRIB.
......@@ -704,6 +705,18 @@ not-documented
--- Variable: \textbf{*disassemblers*} [\textbf{system}] \textit{}
Methods of invoking CL:DISASSEMBLE consisting of a pushable list of (name function), where function takes a object to disassemble, returns the results as a string.
The system is :jad using the venerable-but-still-works JAD.
......@@ -992,6 +1005,17 @@ not-documented
--- Function: \textbf{choose-disassembler} [\textbf{system}] \textit{\&optional name}
Hook to choose invoked behavior of CL:DISASSEMBLE by using one of the methods registered in SYSTEM:*DISASSEMBLERS*.
Optionally, prefer the strategy named NAME if one exists.
......@@ -1118,15 +1142,6 @@ not-documented
--- Function: \textbf{default-time-zone} [\textbf{system}] \textit{}
Returns the OFFSET of the default time zone for this instance of the implementation, and as a second value the state of the DAYLIGHT-P predicate.
......@@ -2022,22 +2037,13 @@ not-documented
--- Class: \textbf{process} [\textbf{system}] \textit{}
--- Function: \textbf{process-alive-p} [\textbf{system}] \textit{process}
Return t if process is still alive, nil otherwise.
......@@ -81,7 +81,7 @@ to wake up for retrieval of that object.
--- Function: \textbf{make-mailbox} [\textbf{threads}] \textit{\&key ((queue g284696) nil)}
--- Function: \textbf{make-mailbox} [\textbf{threads}] \textit{\&key ((queue g284367) NIL)}
......@@ -90,7 +90,7 @@ not-documented
--- Function: \textbf{make-mutex} [\textbf{threads}] \textit{\&key ((in-use g284956) nil)}
--- Function: \textbf{make-mutex} [\textbf{threads}] \textit{\&key ((in-use g284630) NIL)}
......@@ -41,7 +41,7 @@ public final class Version
private Version() {}
static final String baseVersion = "1.5.0-dev";
static final String baseVersion = "1.5.0-rc-0";
static void init() {
try {
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment