Re: Macros, let and variable capture

2009-04-09 Thread Paul Drummond
2009/4/9 Christophe Grand : > The problem is with the last two lines of your macro (the let expansion > is fine): > >      (.add l) >      (.add b > Do you really want to hardcode l and b here or emit as many .add as > required? No - this is where the macro is incomplete - these lines are jus

Re: Macros, let and variable capture

2009-04-09 Thread Christophe Grand
Hi Paul Paul Drummond a écrit : > (defmacro defwidget [& body] > `(let [panel# (javax.swing.JPanel.) >~@(flat1 (map (fn [[type inst]] [inst (list type)]) (rest (first > body] > ~(second body) > (doto panel# > (.setLayout (javax.swing.BoxLayout. panel# > javax.swing.B