On Sat, Jun 19, 2010 at 4:16 PM, Gabriel Dos Reis <span dir="ltr"><<a href="mailto:gdr@integrable-solutions.net">gdr@integrable-solutions.net</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
It is valid Lisp, then error is obviously not acceptable.<br>
Any other form of diagnostic that leads to build error is also<br>
too severe. Obviously, miscompilation is not an option.<br>
My question is: can ECL still generate correct codes?<br>
</blockquote></div><br>There is no such thing as "correct" in this case, because the arguments were declared / inferred to have one type and the function expects a different one. Typically ECL will detect the unused branches later at an expansion or at an optimization stage, but if not, the outcome will vary. For low safety high speed optimization settings, ECL may decide to expand the function. In other cases it may decide to just use an indirect call. Only the first case might be problematic: in case ECL unboxed the declared arguments and the optimized implementation uses low level C, the resulting expressions might actually be invalid. I am just wondering whether this can be prevented, perhaps by marking the C1FORM as problematic.<br>
<br>Juanjo<br clear="all"><br>-- <br>Instituto de Física Fundamental, CSIC<br>c/ Serrano, 113b, Madrid 28006 (Spain) <br><a href="http://tream.dreamhosters.com">http://tream.dreamhosters.com</a><br>