On Tue, Nov 2, 2010 at 1:38 PM, Laurent PETIT <laurent.pe...@gmail.com>wrote:
> 2010/10/30 Tim Daly <d...@axiom-developer.org>: > > Macros in lisp get used for three general purposes, at least > > in my experience. > > > > The first purpose is efficiency. In common lisp you will find > > that you can generate very machine-efficient (aka optimized > > fortran level) binary instruction sequences if you add type > > information. This gets tedious to do in code so you write a > > macro. So (+ x y) has to assume that x and y are anything, > > including non-numeric. If you write a (plus x y) macro it > > can expand to > > (the fixnum (+ (the fixnum x) (the fixnum y))) > > which I have seen optimized into a single machine instruction. > > Macros could be used to solve the boxing/unboxing issues in > > Clojure. > > For writing DSLs, consider the excellent speak of cgrand at the conj : > (not= DSL macros) > > Here are the slides: http://speakerrate.com/talks/4895-not-dsl-macros Here's something odd: I can't view the slides. I have Chrome and Firefox here. If I go there in Chrome the grey box that I assume should contain the slides is blank. I'm guessing they used Flash instead of Java or AJAX; and I haven't been able to get Flash working in Chrome. On the other hand if I go there in Firefox I get told "The connection was reset". This happens also if I prepend "www." to the domain name. So apparently speakerrate.com slams the door on Firefox users -- I thought that kind of browser-discrimination stupidity went out with the 90s? -- and indeed violates RFCs by having www.speakerrate.com respond with RST to a connection on port 80. -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en