I am playing with a set of changes that adds some information to the name of the variables in the compiled sources. An example follows. The code is not beautiful simply because LOOP does not produce beautiful code itself :-) Note that temporary variables (with no package) are not translated, to keep the code cleaner.<div>

<br></div><div><div>> (disassemble '(lambda (list) (loop for item in list do (print item))))</div></div><div><br></div><div><div><div>static cl_object L1c__gazonk(cl_object v1list)</div><div>{</div><div> const cl_env_ptr cl_env_copy = ecl_process_env();</div>

<div> cl_object value0;</div><div> ecl_cs_check(cl_env_copy,value0);</div><div> {</div><div>TTL:</div><div>  {</div><div>   cl_object v2item;</div><div>   cl_object v3;</div><div>   v2item = ECL_NIL;</div><div>   if (ecl_unlikely(!ECL_LISTP(v1list))) FEtype_error_list(v1list);</div>

<div>   v3 = v1list;</div><div>L4:;</div><div>   if (!(ecl_endp(v3))) { goto L6; }</div><div>   goto L5;</div><div>L6:;</div><div>   v2item = _ecl_car(v3);</div><div>   {</div><div>    cl_object v4;</div><div>    v4 = _ecl_cdr(v3);</div>

<div>    if (ecl_unlikely(!ECL_LISTP(v4))) FEtype_error_list(v4);</div><div>    v3 = v4;</div><div>   }</div><div>   ecl_print(v2item,ECL_NIL);</div><div>   goto L4;</div><div>L5:;</div><div>   value0 = ECL_NIL;</div><div>

   cl_env_copy->nvalues = 1;</div><div>   return value0;</div><div>  }</div><div> }</div><div>}</div></div><div><br></div><div><br></div>-- <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>