Embeddable Common-Lisp / News: Recent posts

OpenBSD testers?

Thanks to the latest fixes in ECL's own conservative garbage collector, ECL from CVS sources now builds and runs at least on OpenBSD/x86. The infrastructure in Sourceforge is however very limited (basically, I do not get enough CPU time to run the tests). Hence it would be nice if someone could do some testing on this platform.

For this we suggest that, after building ECL, you check out the ecls-test tree from CVS and run simply "make" from the ecls-test directory. This will run some old tests plus Paul Dietz' ANSI test suite (which is automagically pulled from Savannah's CVS tree).... read more

Posted by Juan Jose Garcia Ripoll 2005-11-09

From ASDF to shared libraries

Michael Goffioul has contributed a wonderful hack that allows one to build a single FASL file, a shared library or a standalone executable out of a ASDF system definition. The transcription below shows how it works for the CL-PPCRE library. As usual this is only available in the CVS version of ECL.

~/src/lisp$ cd cl-ppcre-1.2.11/
~/src/lisp/cl-ppcre-1.2.11$ ecl
ECL (Embeddable Common-Lisp) 0.9g
Copyright (C) 1984 Taiichi Yuasa and Masami Hagiya
Copyright (C) 1993 Giuseppe Attardi
Copyright (C) 2000 Juan J. Garcia-Ripoll
ECL is free software, and you are welcome to redistribute it
under certain conditions; see file 'Copyright' for details.
Type :h for Help. Top level.
> (require 'asdf)
;;; Loading #P"/home/jlr/lib/ecl/asdf.fas"
> (load "cl-ppcre.asd")
;;; Loading "cl-ppcre.asd"
> (use-package "ASDF")
> (make-build :cl-ppcre :type :fasl)
;;; Loading #P"/home/jlr/lib/ecl/cmp.fas"
;;; Loading #P"/home/jlr/lib/ecl/sysfun.lsp"
;;; Loading "/home/jlr/src/lisp/cl-ppcre-1.2.11/packages.lisp"
;;; Loading "/home/jlr/src/lisp/cl-ppcre-1.2.11/specials.lisp"
> (load "cl-ppcre.fas")
;;; Loading "cl-ppcre.fas"
> (load "ppcre-tests")
;;; Loading #P"ppcre-tests.lisp"


> (cl-ppcre-test:test)
662 ("a" =~ /((a))/):
\2: expected NIL but got "a"
790 ("babc" =~ /^(b*|ba){1,2}bc/):
\1: expected "" but got "ba"
1439 ("dbaacb" =~ /(?<!(c|d))[ab]/):
\1: expected NIL but got "d"
..... read more

Posted by Juan Jose Garcia Ripoll 2005-10-20

Windows application

Michael Goffioul has updated his sample text editor. It now uses ECL's dynamic FFI to access the Windows API and can run either compiled or interpreted. Furthermore, by embedding Scintilla's component (http://www.scintilla.org), the editor can perform syntax highlighting of Lisp code.

A screenshot is here:

With higher resolution also available here:

Posted by Juan Jose Garcia Ripoll 2005-10-19

Dynamic FFI

ECL's unstable version (in CVS) now contains means both to call C functions and to export functions to the C world (callbacks). Furthermore, this project, initiated by M. Goffioul, has led to an implementation that, at least on the Intel platform, does not rely on the C compiler, but on assembler code generated run time. We hope to port this to the remaining architectures: PPC, Sparc, x86_64

If you want to test it, save the code below in a file called "example.lsp" and load it in the interpreter (if on x86/Windows,Linux,FreeBSD) or compile it and load it (if on other platforms).... read more

Posted by Juan Jose Garcia Ripoll 2005-10-17

ECL 0.9g

It's been long since version 0.9f and a lot of improvements and fixes have accumulated, so it's quite a good time for a new release. As already mentioned in the newsgroups, this release is significantly faster due to optimizations in the SUBTYPEP routine, plus some minor fixes in the compiler.

As side news worth mentioning, SLIME has been ported to ECL and work is going on slowly but steadily on making the compiler more stable and efficient.... read more

Posted by Juan Jose Garcia Ripoll 2005-08-12

Wiki for ECL

A Wiki has been set up for the ECL project, and it is now linked to in all webpages. The address is http://ecls.sourceforge.net/cgi-bin/view

Although the Wiki was set up long ago, not being very proficient with this kind of tools I preferred waiting until the stability of the setup was confirmed.

Right now the Wiki contains little but very useful data:

  • Links to the manuals
  • The FAQ, a rapidly growing document
  • A documentation of the multiprocessing capabilities in ECL.... read more
Posted by Juan Jose Garcia Ripoll 2005-07-11

More on OSX

I have updated my laptop with OSX Tiger and in the process discovered that gcc 4.0 does not like ECL. Well, this is not a big issue, since ECL still compiles with the older gcc 3.3 which is shipped with XCode and which produces binaries that can be run on OSX 10.3. The installation instructions have been updated to reflect this fact (http://ecls.sourceforge.net/install.html#osx)

Incidentally, the newest version of perl shipped with Tiger breaks the texi2html script and is not able to process ECL's documentation. Also this has been fixed in the CVS version.... read more

Posted by Juan Jose Garcia Ripoll 2005-06-10

Win32 bridge

Michael Goffioul has contributed a library for calling Microsoft Windows's GUI functions from ECL. The library uses ECL's own implementation of the UFFI (Unified Foreign Function Interface) and demonstrates that this is really usable. As examples, he has written both the typical button example and a small, single window text editor. You can find a screenshot at the project homepage (https://sourceforge.net/project/screenshots.php?group_id=30035)

Posted by Juan Jose Garcia Ripoll 2005-06-08

News on OSX port

I just bought a tiny 12" iBook and compiled ECL on it. It seems that there were two problems in the latest release:

(i) The fixes on the linux platform to avoid name clashes, caused some problem on OSX.

(ii) Most important is the fact that the 10.3 seems to include a flaky (at least not good enough for ECL) dlfcn.h header, which caused ECL not to use the OSX standard functions for loading FASL files.... read more

Posted by Juan Jose Garcia Ripoll 2005-06-06

ECL now compiles with free Microsoft C++ compiler

ECL now compiles with the free Microsoft Visual C++ toolkit (http://msdn.microsoft.com/visualc/vctoolkit2003/). Instructions are available at the homepage (http://ecls.sourceforge.net/install.html)

Posted by Juan Jose Garcia Ripoll 2005-05-30

RSS feed opened

ECL will now make use of the RSS feed for posting news about bugs fixed, general development, wanted help, success stories and releases.

Posted by Juan Jose Garcia Ripoll 2005-05-30