[Ecls-list] COMPILED-FUNCTION-P

Juan Jose Garcia Ripoll worm at arrakis.es
Tue May 20 01:51:04 UTC 2003


Hi,

I just wanted to make a remark about compiled and interpreted functions. I 
will reproduce this message later in comp.lang.lisp, once google catches up 
on the #'(lambda ()...) thread.

In ECL
	(COMPILED-FUNCTION-P function-object)
returns ALWAYS true. This is so because the purpose of COMPILED-FUNCTION-P is 
to reveal whether the function object may change at runtime and all function 
objects are either compiled to bytecodes or to machine code. Thus, no 
function object has run-time dependencies (no macros are expanded, no 
load-time values have to be evaluated).

There was a bug in the printer however. This bug lead to
	(PRINT bytecodes-object) => #<Interpreted-function ....>
This bug has been fixed today in the NEW_COMPILER branch of the CVS tree.

Best regards,

Juanjo

----

[jlr at mpq3p32 build]$ ecl
ECL (Embeddable Common-Lisp) 0.9
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.
> #'(lambda (x) )
#<bytecompiled-function 08299e40>
Top level.
> (compiled-function-p #'(lambda (x) ))
T
Top level.





More information about the ecl-devel mailing list