The effort to make ECL more independent of the C compiler seems to progress nicely. The bytecodes compiler now can produce compiled files, COMPILE works, DISASSEMBLE does too, and even some of quicklisp's components do as well (See below).<div>
<br></div><div>The trickiest thing is managing compilation of constants and eval-when, two things that were much simpler in the previous version of the bytecodes compiler, which did not have to output the compiled bytecodes into a text file.<div>
<br></div><div>Right now this component is shipped by default with all versions of ECL. If ECL was built with --disable-shared it is also the default compiler. Otherwise you may try it using (si::install-bytecodes-compiler). Once the bytecodes compiler is active, ECL's ASDF is designed to work with it and it is not needed to do a (require :cmp). The extension of bytecodes compiled files is *.fasc.</div>
<div><br></div><div>I will keep testing for errors.</div><div><br></div><div>Juanjo</div><div><br></div><div>Sample session:</div><div><br></div><div><div>$ ecl -norc</div><div>ECL (Embeddable Common-Lisp) 11.1.1</div><div>
Copyright (C) 1984 Taiichi Yuasa and Masami Hagiya</div><div>Copyright (C) 1993 Giuseppe Attardi</div><div>Copyright (C) 2000 Juan J. Garcia-Ripoll</div><div>ECL is free software, and you are welcome to redistribute it</div>
<div>under certain conditions; see file 'Copyright' for details.</div><div>Type :h for Help. </div><div>Top level.</div><div><div>> *features*</div><div><br></div><div>(:FLEXI-STREAMS :CL-PPCRE :QUICKLISP :ASDF2 :ASDF <b><font class="Apple-style-span" color="#ff6666">:ECL-BYTECMP</font></b> :DARWIN</div>
<div> :FORMATTER :LONG-LONG :UINT64-T :UINT32-T :UINT16-T :RELATIVE-PACKAGE-NAMES</div><div> :LONG-FLOAT :UNICODE :DFFI :CLOS-STREAMS :CMU-FORMAT :ECL-PDE :CLOS :BOEHM-GC</div><div> :ANSI-CL :COMMON-LISP :IEEE-FLOATING-POINT :PREFIXED-API :FFI :I686 :COMMON</div>
<div> :ECL)</div></div><div>> (load "quicklisp/setup.lisp")</div><div><br></div><div>;;; Loading "/Users/jjgarcia/quicklisp/setup.lisp"</div><div>;;; Loading #P"/Users/jjgarcia/lib/ecl-11.1.1/asdf.fasc"</div>
<div>#P"/Users/jjgarcia/quicklisp/setup.lisp"</div><div>> (ql:quickload "cl-ppcre-test")</div><div>To load "cl-ppcre-test":</div><div> Load 1 ASDF system:</div><div> cl-ppcre-test</div>
<div>; Loading "cl-ppcre-test"</div><div>[package cl-ppcre]................................</div><div>..................................................</div><div>[package trivial-gray-streams]....................</div>
<div>[package flexi-streams]...........................</div><div>..................................................</div><div>..................................................</div><div>..................................................</div>
<div>..................................................</div><div>..................................................</div><div>[package cl-ppcre-test]..</div><div>("cl-ppcre-test")</div><div>> (cl-ppcre-test:run-all-tests)</div>
<div><br></div><div>Test: Running tests in file "perltestdata"</div><div>..........</div><div>..........</div><div>..........</div><div>..........</div><div>..........</div><div>..........</div><div>...</div><div>
Test: Optimized test functions - this might take some time...</div><div>Test: Simple tests from file "simple"</div><div>....</div><div>[... same errors as with C compiler ...]</div><div>...</div><div><br></div>
<div>
Some tests failed.</div><div>NIL</div><div><br></div></div><div><br>-- <br>Instituto de Física Fundamental, CSIC<br>c/ Serrano, 113b, Madrid 28006 (Spain) <br><a href="http://juanjose.garciaripoll.googlepages.com" target="_blank">http://juanjose.garciaripoll.googlepages.com</a><br>
</div></div>