Daniel Kochmański | 3 Feb 16:00 2016

[release candidate][16.1.2]

Dear all,

we slowly prepare for the next relese and I think it's time to test
things, if some changes didn't break builds etc., or if any serious
regressions has happened.

I would be grateful for performing tests with your configurations and on
the architectures you run (the more of them better it is), then we'll
have more complete picture what needs work. The most conveniant way to
process these things will be if you use Anton's cl-test-grid, which is
simply great for summarizing stuff:


Those interested in realease notes, please consult:
(section "Pending changes since 16.0.0").

If everything goes smoothly, version 16.1.2 should be out on 29th of
February, but if some problems araise (like a regression), we'll
postpone it.

Thanks for your help and see you around,


Daniel Kochmański ;; aka jackdaniel | Poznań, Poland
TurtleWare - Daniel Kochmański      | www.turtleware.eu

"Be the change that you wish to see in the world." - Mahatma Gandhi
(Continue reading)

Fabrizio Fabbri | 27 Jan 21:01 2016

ld-flags on win

Hi all,
I'm on my win64 build and I'm using asdf to define my system but with asdf:make-build or
asdf:load-bundle-op the ld-flags option to link some additional static
library to my fasl  is not passed to the linker.

So far I workaround with (si:setenv "_CL_" "bla bla bla") but it's not

Am I doing something wrong or is a know issue?

Kindest regards.

P.S. ECL is so fun. Great job. 

Fabrizio Fabbri | 27 Jan 20:52 2016

Help on unit test

Hi all,
I make ECL compile with Win64 cl compiler, and so far it does not work
I want to run the unit test, and  I was able to do it manually
with some failure but I'm not 100% sure that I run those in the right

It there some instruction that I can follow or can you tell me wich is
the proper way to run those unit test.

p.S. The buil system on windows need some makeup (on windows) and I was was wondering
that instead of using nmake I can fixup autoconf to work on msys2 on
windows platform with native cl compiler.


Diogo Franco | 25 Jan 23:11 2016

Conflicts when starting up various processes


We have a few different c++ projects with ecl embedded, which when starting up, have ecl compiling and loading quite a bit of lisp code. 

If we start the various processes close enough in time, conflicts occur while compiling the lisp code. All is good if I wait for the lisp compilations between starting each process, but this is troublesome to do in production.

We believe this may be because the different processes might be using the same temporary folder for the compiled code or something of this nature. Is there any way to set the temporary path where ecl builds source code? Or some other hint you think might help?

Many thanks in advance for your help,

Diogo Franco

Didier Verna | 21 Jan 10:44 2016

[CfP] 9th European Lisp Symposium, May 9-10, Krakow, Poland

		 ELS'16 - 9th European Lisp Symposium

		    Department of Computer Science
	       AGH University of Science and Technology
			    Kraków, Poland

			    May 9-10, 2016

		   In cooperation with: ACM SIGPLAN

 Sponsored by EPITA, Franz Inc., LispWorks Ltd. and Dept. of Computer
			   Science AGH UST


Recent news:

- Submission deadline in less than a month!
- 3nd invited speaker announced: Stephan Karpinski on Julia: to Lisp
  or Not to Lisp?

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 9th 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

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

  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:
http://www.acm.org/sigs/publications/proceedings-templates and
http://www.acm.org/about/class/1998. The conference proceedings will be
published in the ACM Digital Library.

Important dates:

 -   19 Feb 2016 Submission deadline
 -   25 Mar 2016 Notification of acceptance
 -   15 Apr 2016 Early registration deadline
 -   22 Apr 2016 Final papers due
 - 9-10 May 2016 Symposium

Programme chair:
  Irène Durand, LaBRI, University of Bordeaux, France

Local chair:
  Michał Psota, Emergent Network Defense, Kraków, Poland

Programme committee:
  Antonio Leitao — INESC-ID / Instituto Superior Técnico, Universidade
    de Lisboa, Portugal
  Charlotte Heerzel — IMEC, Leuven, Belgium
  Christian Queinnec — University Pierre et Marie Curie, Paris 6, France
  Christophe Rhodes — Goldsmiths, University of London, United Kingdom
  Didier Verna  — EPITA Research and Development Laboratory, France
  Erick Gallesio — University of Nice-Sophia Antipolis, France
  François-René Rideau, Google, USA
  Giuseppe Attardi — University of Pisa, Italy
  Henry Lieberman — MIT, USA
  Kent Pitman, HyperMeta Inc., USA
  Leonie Dreschler-Fischer — University of Hamburg, Germany
  Pascal Costanza — Intel Corporation, Belgium
  Robert Strandh — University of Bordeaux, France

Search Keywords:

#els2016, ELS 2016, ELS '16, European Lisp Symposium 2016,
European Lisp Symposium '16, 9th ELS, 9th European Lisp Symposium,
European Lisp Conference 2016, European Lisp Conference '16


 <at> -quartet live: Sunset/Sunside, Paris, Jan 26 2016 !
Book now: http://www.sunset-sunside.com/2016/1/artiste/2101/3453/

Lisp, Jazz, Aïkido: http://www.didierverna.info

Diogo Franco | 11 Jan 13:01 2016

cl-redis problems


I've been using cl-redis with ecl without problems, but recently i have some trouble when installing on new systems.

rutil is a dependency installed by quicklisp when doing quickload on cl-redis, and i've been getting:

"There is no method on the generic function PRINT-OBJECT that agrees on qualifiers NIL and specializers (HASH-TABLE T)"

This is the ecl that's installed via apt-get, ecl-13.5.1.

I did notice that sbcl finds the method correctly when doing "(find-method #'print-object nil '(hash-table t))", while ecl also gives the error above.

Any idea on how to further investigate this?

Thanks in advance!

Alexander Artemenko | 5 Jan 12:19 2016

How to compile executable with external dependencies


Is there a way to compile a lisp programm which uses something like Drakma?
Or ECL is only able to compile separate lisp files one by one?

Alexander Artemenko (a.k.a. Svetlyak 40wt)
Blog: http://dev.svetlyak.ru
Photos: http://svetlyak.ru
Jabber: svetlyak.40wt-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
Diogo Franco | 7 Dec 23:48 2015

Displaying lisp errors while running with save_eval

Hi all,

Uncaught error conditions in lisp code don't display in *standard-output* for me, when ecl is running embedded in c (i presume the reason is that i'm calling the lisp functions using save_eval()). 

My workflow on the shell while developing is then to do ctrl-c which drops me to the REPL, and to manually execute the functions, which will print the error.

I'm no expert on the inner workings of ecl, so forgive me if this is a dumb question, but is there some way to get the errors in *standard-output* even when using save_eval()?

Thanks in advance,
Diogo Franco
Daniel Kochmański | 26 Nov 07:16 2015

Re: Inspecting intermediate C files


I'm not sure if I miss something, but this mail seems to be sent to the
ecl-devel-owner@... . Correct ML address is
ecl-devel@... . I'm fast forwarding the mail there.

Brian Beckman writes:

> Hello --
> I am experimenting with ECL for actual embedded applications
> (in the sense of "embedded systems," i.e., small computers running
> disconnected controller software.
> The hardware team insists on inspecting the generated C code from
> the ECL compiler.  I found, in the ECL manual, directions for
> producing .o files, .a files, .fasl files, and standalone executables.
> I also found prose that says that it is possible to emit the
> actual .c and .h files.  However, I can't find instructions on how
> to emit the actual .c and .h files.

Generated code is readable, but it's a generated code after all. It's
not pretty.
> I can (compile-file "hello.lisp" :system-p t), but that produces
> only a .o file.  I need to see the .c and .h files.  My hardware
> team won't permit ECL-generated code until they can visually read
> and inspect the generated .c and .h files.

To prevent ECL from deleting these intermediate files you need to set
special variable c::*delete-files* to nil.

  (setf c::*delete-files* nil)

Intermediate files are *.c, *.h and *.data . The last one contains some
untranslatable expressions (rare occasion – if you work with infinities
for instance) and debugging/reflection information (like the path to the
source file).

This problem has been tacled by Earl Ducaine here:
https://github.com/earl-ducaine/stupid-ecl-tricks-1 .
> Can you help me figure out how to generate them?  I can't find
> the instructions in the manual.  I am starting to read the source
> code, but perhaps you can give me correct pointers into the manual
> or some other kind of instructions.

I'm now in-process of revising manual and rewriting it into texi
sources. I'll keep in mind to document this. It would be great
if you could file an issue on
gitlab.com/embeddable-common-lisp/ecl/issues (with the label
"documentation"). Thanks!

> Thanks!



Daniel Kochmański | Poznań, Poland
;; aka jackdaniel

"Be the change that you wish to see in the world." - Mahatma Gandhi

Alessandro Serra | 24 Nov 23:57 2015

iolib and close

Dear all,
compiling "iolib-tests" I received the following error:

    #<IPv4 datagram socket, closed 00000000050f3660> is not of type STREAM.
    [Condition of type TYPE-ERROR]

I have seen that in "clos/streams.lsp" the following method is defined:   

  (defmethod close ((stream t) &key abort)
     (declare (ignore abort))
     (bug-or-error stream 'close))

Removing the method above with:
     (remove-method #'gray:close (find-method #'gray:close '() '(t)))

I was able to compile iolib-tests and run the tests.

  Did 71 checks.
     Pass: 59 (83%)
     Skip: 0 ( 0%)
     Fail: 12 (16%)


hiro hiro | 12 Nov 14:00 2015

ffi:defcallback with cxx


  I compiled ecl16.0.0 with option "--with-cxx".

  Then I use ffi:defcallback function like

    (ffi:defcallback yyyy :void () ..... )

  then compile-file
    (compile-file "xxxxx.lisp" :c-file "xxxxx.cpp" :system-p t)

  I received error message as follows
   (freebsd10.1 clang++)
    xxxxx.cpp:162:8: error: no matching function for call to
      T0 = ecl_make_foreign_data(ECL_SYM("POINTER-VOID",1381),0,ecl_callback_0)

  I try as follows

    in src/cmp/cmpcbk.lsp & src/new-cmp/cmpc-cbk.lsp   line 44
       ,(format nil "ecl_make_foreign_data( <at> ':pointer-void,0,~a)" c-name)
       ,(format nil "ecl_make_foreign_data( <at> ':pointer-void,0,(void*)~a)" c-name)

  after that, I did not receive error message and ffi:callback work fine.

  Would you let me know what your thoughts are on this matter.