[Ecls-list] Compiler problems

Juan Jose Garcia Ripoll worm at arrakis.es
Fri Dec 13 08:34:04 UTC 2002


On Friday 13 December 2002 14:55, Rolf Wester wrote:
> Hi,
>
> I have some problems when compiling/loading lisp code with ECLS 0.8:
> [...]
> ;;;  TAK calls the C function tak defined above.
> (defentry tak (int int int) (int tak))

I am puzzled to see that a lot of the functions from the foreing-functions 
interface are missing in the compiler. This mistake dates back to version 
0.5! I will have to take them back from an old version, but I might in the 
process decide to implement some of CMUCL's facilities. Expect a fix in about 
two weeks.

> The 2. problem is:
>
> (defun get-package-symbols (package &key (describe nil))
>   (let ((pack (find-package package)))
> 	(if (eql nil pack)
> 		(format "No package ~A~%" package)
> 	    (loop for s being each external-symbol of (find-package package) do
> 		  (if describe
> 			  (progn (describe s) (terpri) (princ "------------------"))
> 			  (print s))))))
>
> > (get-package-symbols 'si)
>
> The function #:G119 is undefined.
> Broken at GET-PACKAGE-SYMBOLS.

WITH-PACKAGE-ITERATOR is not implemented and LOOP relies on it. Use DO-SYMBOLS 
or any of its sister macros to implement the code above.

> The 3. Problem occurs when I try to compile "ext.lisp" of the
> "port"-package in the CLOCC. It doesn't compile unless I change the line:
> (declare (function f0 f1))
> in the function definitions of compose-f and compose-all to:
> #-ecl (declare (function f0 f1))

Thanks! This is a bug arising from compliance to CLtL2, I think. ECL 
interprets FUNCTION as the declaration indentifier which in ANSI is called 
FTYPE. I will fix this as soon as I can.

Juanjo





More information about the ecl-devel mailing list