Friday, October 3, 2014

Short tip :: Booting quicklisp via SLIME

For the truly lazy, the following forms will quickly load Quicklisp:

   (require :abcl-contrib) (asdf:load-system :quicklisp-abcl)


Tuesday, April 29, 2014

An abcl-1.3.1 Spring Cleaning

The Bear came out of his cave on 30-APR-2014 for a spring cleaning.  He grumbled 
something about wanting to look good for Paris next week, and then went back inside
to sleep it off.
[binaries]: http://abcl.org/releases/1.3.1/     [source]: http://abcl.org/svn/tags/1.3.1/
  • The underlying Java Function Interface (JFI) now converts CL:T and CL:NIL to JAVA:+TRUE+ and JAVA:+FALSE+.  Users who wish to reference a JAVA:+NULL+ should do so explicitly.
    http://abcl.org/trac/changeset/14694
  • Fix Uniform Naming Convention (aka "UNC" or "network") paths under Windows. http://abcl.org/trac/changeset/14659

    DIRECTORY now works again on UNC paths.

    UNC paths may be either specified with either back slash (#\\) orforward slash (#\/) doubled as the first character in a PATHNAME namestring.

    For the patterns in
       //[server]/[share]/[directories-and-files]
    [server]  is stored as HOST.
    [share] is stored as DEVICE.
    [directories-and-files] gets parsed as per the normal rules under Windows.

    Mixing namestrings with both backslash and slash characters can lead to unpredictable results.  It is recommended not to use backslash characters in namestrings if it can be avoided.  The pathname printed representation is always normalized to using forward slash delimiters.
     
  • Find contrib based on system jar name. 
    http://abcl.org/trac/changeset/14657
Thanks to everyone who uses ABCL!

Sunday, March 16, 2014

abcl-1.3.0 released

abcl-1.3.0 is a feature release.

http://abcl.org/releases/1.3.0

15-MAR-2014

## Features

*  Make LispStackFrame.UNAVAILABLE_ARG a singleton object,
   and lazily create the little used portions of the Lisp stack.

    Aggressively cache and control the use of memory by the underlying
    Lisp stack frame representation by introducing the private
    LispThread.StackFrame and LispThread.StackSegments classes.

    Contributed by Dmitry Nadezhin.

    LispStackFrame object are allocated on every
    LispThread.execute(...) .  However, they are seldom [accessed]
    ([... verify via] inspect[tion of the] stack trace). This patch
    delays allocation of LispStackFrame? objects until they are
    requested.  Raw information about stack frames is stored in
    stack. Stack is an Object[] array (more precisely a list of [...]4
    [Mib] Object[] arrays).

    ME: We are going to need a way to try to less agressively grab 4Mib
    chunks in low memory situations.

    Memory profiling of ABCL shows that the classes with largest
    allocation count are org.armedbear.lisp.LispStackFrame and
    org.armedbear.lisp.LispStackFrame.UnavailableArgument.

    Contributed by Dmitry Nadezhin.

    [r14572]: http://abcl.org/trac/changeset/14572
    [r14579]: http://abcl.org/trac/changeset/14579

*  ASDF 3.0.1.94 shipped with the implementation

*  per function call stack and memory exception handler in CL:COMPILE

   Inline calls to jrun-exception-protected (used by handler-bind to
   catch out of memory conditions).  This commit saves generation
   roughly 50 cls files.

   [r14552]: http://abcl.org/trac/changeset/14552

*  SYS:SHA256 audited

    The functionality if the SYS:SHA256 algorithim has been audited for
    use on inputs of single for files with recently shipping ORCL Java 7
    implementations (through jdk-1.7.0_51).

    [r14582]:  http://abcl.org/trac/changeset/14582

* Connect to NetBeans controlled JDWP via SLIME

    The Netbeans IDE configuration now includes a way to connect to
    the running-under-jdb ABCL via SLIME.  One needs a version of
    SLIME able to be loaded from its 'swank.asd' definition.  

* Install 'abcl.jar' and 'abcl-contrib.jar' locally as Maven artifacts

    The Ant `abcl.mvn.install` target now installs build artifacts
    into the local Maven repository (Olof-Joachim Frahm)

    [r14579]: http://abcl.org/trac/changeset/14606

## Compatibility

*  CL:DIRECTORY 

   The implementation specific :RESOLVE-SYMLINKS argument to the ANSI
   DIRECTORY function has been changed to nil.  This implements
   behavior closer to SBCL and guarantees that a DIRECTORY operation
   will not signal a file error.

   [r14619]: http://abcl.org/trac/changeset/14619
   [ticket-340]: http://abcl.org/trac/ticket/340

## Fixes

*  Fix CL:SLEEP for intervals less than a millisecond.  

   For intervals less than or equal to a nanosecond, including an
   interval of zero, the current thread merely yields execution to
   other threads.

   [r14632]: http://abcl.org/trac/changeset/14632


## Tested

### "Java_HotSpot(TM)_64-Bit_Server_VM-Oracle_Corporation-1.7.0_51-b13" "x86_64-Mac_OS_X-10.9.1"

### "Java_HotSpot(TM)_64-Bit_Server_VM-Oracle_Corporation-1.8.0-b129" "x86_64-Mac_OS_X-10.9.2"

## Contrib

#### abcl-asdf

*  Now working with both Maven 3.0.x and 3.1.x.  Thanks to Anton for
   the help!

   [ticket-328]: http://abcl.org/trac/ticket/328

*  cache Maven dependency resolution to avoid repeated lookups.

   Instead of calling ABCL-ASDF:RESOLVE in both the ASDF COMPILE-OP
   and LOAD-OP, we now cache the result of invocation in COMPILE-OP
   and add this value in the LOAD-OP phase. Contributed by Cyrus
   Harmon.

   [r14631]: http://abcl.org/trac/changeset/14631

#### jna
  
   Now references jna-4.0.0.  Some incompatibility with CFFI ([in
   progress with fixing upstream][cffi-easye]).

[cffi-easye]: http://github.com/easye/cffi/


Sunday, June 30, 2013

Post-ECLM 2013: abcl-1.2.1 released

"So long and thanks for all the Jamon"
 

27 June 2013
http://abcl.org/releases/1.2.1

*  Tested:  orcl-jdk-1.7.0_25 orcl-jdk-1.6.0_43

** ansi tests rc-2 failing 11-13 of 21708 total.  
   Some regressions since 1.1.1

*  Stablility fixes; additional Quicklisp compatibility

** Fix (make-instance 'standard-generic-function)

Wednesday, June 5, 2013

The Bear changes its Lair

For better management of the reliability of Armed Bear Common Lisp hosting infrastructure, we have renamed the essential services into the abcl.org domain. This transition has been proceeding since the beginning of April in a manner that was hopefully mostly invisible to the User.  

The binaries and source of the first release candidate of ABCL 1.2 are now available.  Very few additional issues will probably be resolved without additional patches, but if you see something obvious to change that doesn't disturb the stability of our testing infrastructure please get us the patches in the next few days.  Interestingly enough, documentation nearly always has this property.