Cyrus Harmon | 17 Apr 19:46 2014

[Armedbear-devel] (require 'jna) broken by 0030b89b2

Commit 0030b89b2eb24b0b63b5f1ca4d4c9a7644eea02d breaks the maven JNA resolution:

(sly <at> cyruss-mbp):~/src/abcl$ ./abcl
Armed Bear Common Lisp 1.4.0-dev
Java 1.7.0_51 Oracle Corporation
Java HotSpot(TM) 64-Bit Server VM
Low-level initialization completed in 0.351 seconds.
Startup completed in 1.786 seconds.
Loading /Users/sly/.abclrc completed in 9.51 seconds.
Type ":help" for a list of available commands.
CL-USER(1): (require 'abcl-contrib)
Using probed value of abcl-contrib:
Added jar:file:/Users/sly/src/abcl/dist/abcl-contrib.jar!/quicklisp/ to ASDF.
Added jar:file:/Users/sly/src/abcl/dist/abcl-contrib.jar!/mvn/ to ASDF.
Added jar:file:/Users/sly/src/abcl/dist/abcl-contrib.jar!/jss/ to ASDF.
Added jar:file:/Users/sly/src/abcl/dist/abcl-contrib.jar!/jfli/ to ASDF.
Added jar:file:/Users/sly/src/abcl/dist/abcl-contrib.jar!/asdf-jar/ to ASDF.
Added jar:file:/Users/sly/src/abcl/dist/abcl-contrib.jar!/asdf-install/ to ASDF.
Added jar:file:/Users/sly/src/abcl/dist/abcl-contrib.jar!/abcl-asdf/ to ASDF.
CL-USER(2): (require 'jna)
(/Users/sly/.m2/repository/net/java/dev/jna/jna/4.1.0/jna-4.1.0.pom)  <at>  central
(, releases+snapshots)
jnaASDF could not load  because Java exception 'java.lang.NullPointerException'..
#<THREAD "interpreter" {4323B3D5}>: Debugger invoked on condition of type JAVA-EXCEPTION
  Java exception 'java.lang.NullPointerException'.
(Continue reading)

olof | 15 Apr 22:57 2014

[Armedbear-devel] Fixing #352 / JSS fails to introspect foo(long) methods

Hi, I've been trying to improve my idea in [1].  Attached is a slightly
different patch, still with the same general idea though.  I've added two
tests, however I'd still like to do a bit more than that, especially testing
the correct resolution of methods, i.e. Java::isMoreSpecialized.

My current understanding is that with this patch all possible methods (like for
the attached class DummyMethods) are found, but that isMoreSpecialized doesn't
actually do what its name implies, namely finding the most specialized method.

That is, I'm assuming that JCALL is supposed to use the (exact) same kind of
method resolution as Java (if no method signature is given)?

Additionally I actually wanted to add DummyMethods for testing from
java-tests.lisp, but didn't work out for now.

Best regards,

Attachment (is-assignable.patch): text/x-diff, 3301 bytes
Attachment ( text/x-java, 917 bytes
Armedbear-devel mailing list
Armedbear-devel <at>
Faré | 14 Apr 18:21 2014

[Armedbear-devel] PROBE-DIRECTORY borks on wildcard character

EXTENSIONS:PROBE-DIRECTORY fails when the directory name has wildcard characters


—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics•
Meta is Better. Anything you can do, I can do Meta. — Patrick Logan

Armedbear-devel mailing list
Armedbear-devel <at>
Ralf Moeller | 1 Apr 15:52 2014

[Armedbear-devel] Tail recursion

Hi all,

ABCL does not seem to support tail call optimization right now. Are there any plans to provide this?

Best regards,
Ralf Moeller
Xiaofeng Yang | 28 Mar 04:49 2014

[armedbear-devel] COMPILE-FILE fails with stack overflow when INLINE meets recursion

Hi, all.

It seems that cl-prime-maker compiles failed with ABCL because of the following bug. This bug can also be found in ABCL 1.1.1 (I don't know whether this bug can be found in 1.1.0 or earlier), not only 1.2.x and 1.3.x.

$ cat bug-for-abcl.lisp
(in-package :cl-user)

(declaim (inline foo))
(defun foo ()

(defun bar ()

$ ~/abcl/abcl
Armed Bear Common Lisp 1.3.0
Java 1.8.0 Oracle Corporation
Java HotSpot(TM) 64-Bit Server VM
Low-level initialization completed in 0.364 seconds.
Startup completed in 1.739 seconds.
Type ":help" for a list of available commands.
CL-USER(1): (compile-file "bug-for-abcl.lisp")
; Compiling /tmp/bug-for-abcl.lisp ...
; (DEFUN FOO ...)
; (DEFUN BAR ...)
#<THREAD "interpreter" {776DDE2A}>: Debugger invoked on condition of type STORAGE-CONDITION
  Stack overflow.
  0: TOP-LEVEL Return to top level.
[1] CL-USER(2):

After the stack overflow, if I returned to the top level, remove the line "(declaim (inline foo))" and COMPILE-FILE again, it also failed. Unless I restart ABCL and perform COMPILE-FILE with the file without the line "(declaim (inline foo))", it can be compiled now.

     Best regards,
Xiaofeng Yang
Olof-Joachim Frahm | 20 Mar 23:47 2014

[armedbear-devel] FIND-SYSTEM-JAR ignores versioned jars


I've noticed (while building with Maven), that the versioned system and
contrib jars aren't found properly because of how the loader constructs
the pathnames.  Attached are three patches to clean up abcl-contrib.lisp
a bit and then fix this by accepting every matching pathname directly.
This still doesn't check for the correct version string, but maybe
that's not a problem.

Best regards,
Attachment (0002-Indentation.patch): application/octet-stream, 5223 bytes
Faré | 18 Mar 20:03 2014

[armedbear-devel] Fwd: Wild pathnames

Bug report: abcl doesn't correctly process filenames with a "*" in them.

Here is the command I ran, where cl is the latest cl-launch 4:

mkdir -p /tmp/x ; touch "/tmp/x/*" ;
for i in sbcl ccl clisp cmucl ecl abcl \
          scl allegro lispworks gcl xcl ; do
  echo $i ; cl -l $i -iw \
    '(let ((x (directory "/tmp/x/*"))) (list "'$i'" x (pathname-name
(first x))))' ;

And the summarized results are:

Escape properly:
("sbcl" (#P"/tmp/x/\\*") "*")
("ccl" (#P"/tmp/x/\\*") "\\*")
("cmucl" (#P"/tmp/x/\\*") "*")
("lispworks" (#P"/tmp/x/\\*") "\\*")
("scl" (#P"file://localhost/tmp/x/*") "*")

Read badly:
("clisp" (#P"/tmp/x/*") :WILD)
("ecl" (#P"/tmp/x/*") :WILD)
("allegro" (#P"/tmp/x/*") :WILD)
("xcl" (#P"/tmp/x/*") :WILD)

Error out:
Fatal condition:
Bad place for a wild pathname.

Fatal condition:
Condition in LET [or a callee]: INTERNAL-SIMPLE-FILE-ERROR: File error
on "/tmp/x/*": File "/tmp/x/*" is wild

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics•
No man would listen to you talk if he didn't know it was his turn next.
                — Edgar Watson Howe

Theam Yong Chew | 16 Mar 12:25 2014

[armedbear-devel] Some convenience functions

Hi all,

I've got a bunch of useful functions for general hacking with
abcl. Hope they could be useful. Any suggestions on the best place for
sending patches (if indeed they are useful enough). abcl contribs,
slime contribs, or core abcl?


;; javap seems to be bundled/more widely available compared to the defaults

(defun disassemble-class-cmd (path)
  (with-accessors ((d pathname-directory)
                   (n pathname-name))
      (merge-pathnames path)
    (format nil "cd ~{/~a~}; javap -c ~a"
            (cdr d) n)))

(defun disassemble-class (path)
   (disassemble-class-cmd path)))

(setf system::*disassembler*

(in-package :swank)

(defmethod menu-choices-for-presentation ((throwable java:java-exception))
  "Java exception stack traces (different from Lisp stack traces) are
also available."
  (list (list "printStackTrace"
              (lambda (choice object id)
                (declare (ignore choice id))
                ;; TODO, print to an Emacs buffer instead
                (java:jcall "printStackTrace" *standard-output*
                            (java:java-exception-cause object))))))

(in-package :swank-backend)

;; Not real frame local variables, but it at least exposes function
;; arguments for possible inspection

(defimplementation frame-locals (index)
  (loop for id upfrom 0
        for item in (java:jcall "toLispList" (nth-frame index))
        collect (let () ;; ((id id) (item item))
                  (list :name "??" :id id :value item))))

(defimplementation frame-var-value (index id)
  (elt (java:jcall "toLispList" (nth-frame index)) id))

Mark Evenson | 16 Mar 10:21 2014

[armedbear-devel] abcl-1.3.0 released

abcl-1.3.0 is a feature release.


## 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

    Contributed by Dmitry Nadezhin.


*  ASDF 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.


*  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).


* 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)


## Compatibility


   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.


## 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.


## 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!


*  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


#### jna

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


Didier Verna | 11 Mar 14:20 2014

[armedbear-devel] [CfP] DEADLINE EXTENSION - 7th European Lisp Symposium

		 ELS'14 - 7th European Lisp Symposium
			 IRCAM, Paris, France

			    May 5-6, 2014

     Sponsored by IRCAM, CNRS, UPMC, EPITA, LispWorks, Franz Inc.

Latest News:

* SUBMISSION DEADLINE EXTENDED. You have two more week to submit!

* Registration is now open. Early registration fee until April 13.

The purpose of the European Lisp Symposium is to provide a forum for
the discussion and dissemination of all aspects of design,
implementation and application of any of the Lisp and Lisp-inspired
dialects, including Common Lisp, Scheme, Emacs Lisp, AutoLisp, ISLISP,
Dylan, Clojure, ACL2, ECMAScript, Racket, SKILL, Hop and so on. We
encourage everyone interested in Lisp to participate.

The 7th European Lisp Symposium invites high quality papers about
novel research results, insights and lessons learned from practical
applications, and educational perspectives. We also encourage
submissions about known ideas as long as they are presented in a new
setting and/or in a highly elegant way.

Topics include but are not limited to:

- Context-, aspect-, domain-oriented and generative programming
- Macro-, reflective-, meta- and/or rule-based development approaches
- Language design and implementation
- Language integration, inter-operation and deployment
- Development methodologies, support and environments
- Educational approaches and perspectives
- Experience reports and case studies

Please note that IRCAM, the conference venue, is a French institute
for research on music and acoustics. Submissions relating Lisp to
music or other acoustical matters will hence be particularly welcome,
although given no heightened favor during the review process.

We invite submissions in the following forms:

  Papers: Technical papers of up to 8 pages that describe original
    results or explain known ideas in new and elegant ways.

  Demonstrations: Abstracts of up to 2 pages for demonstrations of
    tools, libraries, and applications.

  Tutorials: Abstracts of up to 4 pages for in-depth presentations about
    topics of special interest for at least 90 minutes and up to 180

  The symposium will also provide slots for lightning talks, to be
  registered on-site every day.

All submissions should be formatted following the ACM SIGS guidelines
and include ACM classification categories and terms. For more
information on the submission guidelines and the ACM keywords, see: and

Important dates:

 - TODAY:       Mark your calendar. Start planning now!
 - 23 Mar 2014: Submission deadline **** EXTENDED ****
 - 31 Mar 2014: Notification of acceptance
 - 13 Apr 2014: Early registration deadline
 - 21 Apr 2014: Final Papers due
 - 05 May 2014: Symposium. Join us there!

Programme chair:
    Kent Pitman, Hypermeta Inc., U.S.A.

Local chairs:
    Didier Verna, EPITA Research Lab, France
    Gérard Assayag, IRCAM, Paris, France

Programme committee:

    Marie Beurton-Aimar — LaBRI, University of Bordeaux, France
    Pierre Parquier — IBM France Lab, Paris, France
    Rainer Joswig — Hamburg, Germany
    Guiseppe Attardi — Università di Pisa, Italy
    Taiichi Yuasa — Kyoto University, Japan
    António Leitão — IST/Universidade de Lisboa, Portugal
    Christophe Rhodes — Goldsmiths, University of London, UK
    Olin Shivers — Northeastern University, USA
    Charlotte Herzeel — IMEC, ExaScience Life Lab, Leuven, Belgium

Local organizers:
    Daniela Becker, EPITA Research Lab, France
    Sylvie Benoit, IRCAM, Paris, France

Search Keywords:

#els2014, ELS 2014, ELS '14, European Lisp Symposium 2014,
European Lisp Symposium '14, 7th ELS, 7th European Lisp Symposium,
European Lisp Conference 2014, European Lisp Conference '14



Resistance is futile. You will be jazzimilated.

Lisp, Jazz, Aïkido:

Reinhard Oldenburg | 23 Feb 08:54 2014

[armedbear-devel] unsubscribe


Prof. Dr. Reinhard Oldenburg
Goethe-Universität Frankfurt
Institut für Didaktik der Mathematik und Informatik
Robert-Mayer-Str. 6-8 (Sekretariat)
Robert-Mayer-Str. 10, Raum 301 (Dienstzimmer)
D-60325 Frankfurt/Main
Telefon  +49 (0)69 798 23770
Telefax  +49 (0)69 798 22553
E-Mail   oldenbur <at>