[Ecls-list] Is ECL really interpreted ?

ecky at ecky.fr ecky at ecky.fr
Mon Jul 16 21:07:31 UTC 2012


Hi,

Thanks for all your replies, I think I'll end up getting my ideas straight ;-).

> Note however that ECL does not do native compilation on demand.
> It does not have a JIT compiler to machine code if that is what you are looking for. 
>
@Juan : Well now that is an interesting remark, as what I read (unless I'm mixing something up) I thought that ECL uses several steps to produce executable code (see http://ecls.sourceforge.net/ecldev/devel_5.html) and naively I figured that the compile function would trigger that process and somehow insert the machine-code compiled from generated c-code to the lisp-interpreter in order to replace the bytecode in order to speed up.

Up to now I thought it was possible with LISP to have a program construct some arbitrary list and then just call EVAL on it in order to try to run that 'program' (should probably call it function to be exact) ... as for example (eval (append '(* 2) '(3 4))) actually does.

What I plan to do is actually to construct a list like that : (defun f (...) ...) and call eval on that list ... this will certainly generate some function that may be used later on. Some of the functions generated that way will be fast enough for some general purpose. However I imagined that it was possible to use the compile command on some of these generated functions in order to transform that bit into machine code ... and have the byte-code replaced by it. I feel that this must be possible somehow with ECL perhaps I'm just trying to do it the wrong way ...

Thanks for any comments
ecky


----- Mail original -----
De: "Juan Jose Garcia-Ripoll" <juanjose.garciaripoll at gmail.com>
À: ecky at ecky.fr
Cc: ecls-list at lists.sourceforge.net
Envoyé: Lundi 16 Juillet 2012 09:15:22
Objet: Re: [Ecls-list] Is ECL really interpreted ?


On Sun, Jul 15, 2012 at 10:41 PM, < ecky at ecky.fr > wrote: 


I'm currently evaluating the possibility to use ECL for my software-project and it is important for me that the language I use is interpreted with optional partial compilation on demande (for optimisation reasons) 
In ECL the cost of bytecodes compilation is so small that it is done all the time. It also avoids certain problems and inefficiencies with certain paradigms of lisp interpreters, such as those that do list traversals and have to expand macros every time they find them. 


Note however that ECL does not do native compilation on demand. It does not have a JIT compiler to machine code if that is what you are looking for. 


Juanjo 


-- 
Instituto de Física Fundamental, CSIC 
c/ Serrano, 113b, Madrid 28006 (Spain) 
http://juanjose.garciaripoll.googlepages.com 




More information about the ecl-devel mailing list