<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
hello;<div><br></div><div>it is little appreciated, but the computation of an effective method is a macro-expansion process.</div><div>the simplest one might be the definition for the effective method form of the standard method combination.[1,2]</div><div>at the next level, as maligned as it may be, make-method-lambda relies on the same mechanism.</div><div><br></div><div>that is, one does not need to look far to find instances where the basic properties of macros, that is the ability to compute expressions with alternative, bindings, control structures and/or evaluation order/semantics, are used in non-trivial ways to extend the language.</div><div><br></div><div>---</div><div>[1] <a href="http://www.lispworks.com/documentation/HyperSpec/Body/07_ffb.htm#standard">http://www.lispworks.com/documentation/HyperSpec/Body/07_ffb.htm#standard</a></div><div>[2] <a href="http://www.lispworks.com/documentation/HyperSpec/Body/m_defi_4.htm#define-method-combination">http://www.lispworks.com/documentation/HyperSpec/Body/m_defi_4.htm#define-method-combination</a><br><div>[3] http://www.lisp.org/mop/dictionary.html#make-method-lambda</div><div><br><div><div>On 2008-12-12, at 23:56 , Andrew Shalit wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Anyone have any exemplary macros for Dan Weinreb?  See his message below.<div><br></div><div><br><div><br><div>Begin forwarded message:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Helvetica" size="3" color="#000000" style="font: 12.0px Helvetica; color: #000000"><b>From: </b></font><font face="Helvetica" size="3" style="font: 12.0px Helvetica">Dan Weinreb <<a href="mailto:dlw@itasoftware.com">dlw@itasoftware.com</a>></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Helvetica" size="3" color="#000000" style="font: 12.0px Helvetica; color: #000000"><b>Date: </b></font><font face="Helvetica" size="3" style="font: 12.0px Helvetica">December 12, 2008 9:09:37 AM EST</font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><span class="Apple-style-span" style="-webkit-text-stroke-width: -1; "><font face="Helvetica" size="3" color="#000000" style="font: 12.0px Helvetica; color: #000000"><b>Subject: </b></font><font face="Helvetica" size="3" style="font: 12.0px Helvetica"><b>Soliciting examples of Lisp macros</b></font></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br></div> </div><div>Many of the good ideas that came from Lisp, such as garbage<br>collection, are now available in other languages.  One of the key<br>ideas of Lisp that's still hard to find in other languages is the Lisp<br>macro system, and all it can do.<br><br>When I am talking to non-Lisp people about Lisp, I often make this<br>point, but they are often skeptical about how useful Lisp macros<br>really are.  <br>I'd like to put together a presentation that demonstrates some of<br>the great things you can do with Lisp macros.<br><br>Unfortunately, many of the coolest uses of Lisp macros are rather big<br>and complicated.  I need examples that are small and easy to explain,<br>for my purposes here.<br><br>If you have any cool, novel examples of Lisp macros, I'd very much<br>appreciate it if you could send them to me.<br><br>Thanks very much.<br><br>-- Dan<br><br></div></blockquote></div><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">_______________________________________________</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Openmcl-devel mailing list</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Openmcl-devel@clozure.com</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">http://clozure.com/mailman/listinfo/openmcl-devel</div> </blockquote></div><br></div></div></body></html>