[Ecls-list] Latest changes & request for comments

Gabriel Dos Reis gdr at integrable-solutions.net
Sun May 17 16:20:36 UTC 2009

On Sun, May 17, 2009 at 6:05 AM, Juan Jose Garcia-Ripoll
<juanjose.garciaripoll at googlemail.com> wrote:
>  - Remove an obsolete #if statement for Solaris that broke current builds
>   with Solaris 10.
>  - The mechanism for checking the existence of [u]int{16,32,64}_t or other
>   replacement types was not used for [u]int8_t.
>  - When COMPILE-FILE is invoked with a non-nil value of :OUTPUT-FILE, ECL
>   now honors the file type supplied by the user, instead of overriding it
>   with "fas" or "fasl".

OK; thanks.

>  - When COMPILE-FILE finds that the value of :OUTPUT-FILE has an unsupported
>   file type, it allows the user to register it with LOAD as a valid binary
>   file extension.

This seems to split the apple somewhere in the middle -- a compromise.
I appreciate the intent and diagnostic.  However, it now gets into
this state where,
when delivering the application -- e.g. building the application on user
machine, the user is faced with scary message and choices he is --
for the majority -- not prepared to make.  We have made progress, but
I'm not sure it is substantial enough to make ECL less singular in this

> Would this be enough to solve the binary file name issue?

Again, trying to build SBCL with the new ECL as a bootstrapping Lisp miserably
fails on this specific file extension issue :-(

> $ echo '(print 1)' > foo.lsp; ecl -norc
> ECL (Embeddable Common-Lisp) 9.5.1
> 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.
>> (compile-file "foo" :output-file "foo.myfasb")
> [...]
> COMPILE-FILE has been invoked with a value of :OUTPUT-FILE
>    /Users/jjgarcia/src/ecl/build/foo.myfasb
> The file type is not a supported binary file type. If you do not register
> this file type with ECL, it will refuse to load this file. To permanently
> register this file type with ECL you can add
>    (push '("myfasb" . si::load-binary) ext::*load-hooks*)
> to your ~/.eclrc file.
> Broken at SI:BYTECODES.Available restarts:
> 1. (CONTINUE) Ignore error and do not prompt again.
> 2. (REGISTER) Register file type for later use with LOAD.
> Broken at SI:BYTECODES.
>>> :r2
> ;;; Finished compiling foo.
> #P"/Users/jjgarcia/src/ecl/build/foo.myfasb"
>> (load "foo.myfasb")
> ;;; Loading "/Users/jjgarcia/src/ecl/build/foo.myfasb"
> 1
> #P"/Users/jjgarcia/src/ecl/build/foo.myfasb"

More information about the ecl-devel mailing list