<div class="gmail_quote"><div>[Sorry for possible duplicates]</div><div><br></div>I just realized that compiler macros might be too restrictive in some implementations. Take for instance<div><br></div><div>(define-compiler-macro foo (a &key key-arg) ...)</div>


<div><br></div><div>This is assuming that FOO is only going to be invoked with _constant_ keyword arguments. I know, I know, most uses will have always one argument or :KEY-ARG, but suppose you want to call (FOO some-value a-non-constant-expression some-other-value)... What is the compiler to do?</div>


<div><br></div><div>I _now_ think that the compiler macro processor should simply recognize the failure to parse the form and return the original form, unprocessed, but the implementations I have at hand do not do that. ECL to begin with, but also CCL and SBCL.</div>


<div><br></div><div>Any opinions on this?</div><div><br></div><div>Juanjo</div></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>