Hi Didier, It is good to see some familiar names from comp.lang.lisp :D
I switched to Julia from Lisp a while ago, expecting it to be some kind of Common Lisp with Dylan-like surface syntax, only faster and with parametric types. It isn't, and while Common Lisp influenced the design considerably, Julia made a lot of different choices, most of them consciously: either to make the language more familiar for people migrating from Matlab/R/etc, or to make it easier to optimize, or just because they liked it that way. My perception is that simply pointing out that something is different in Common Lisp is unlikely to move the Julia language team to make fundamental changes to the language, or even to introduce new constructs. On the other hand, from reading the discussions on the issue tracker, it seems that well thought-out examples of real-world problems, especially if they come with a suggestion for a solution, are more likely to get sympathetic attention. So if you use Julia for a while and feel that it should have a construct equivalent to macrolet, maybe you could write up a detailed proposal, with code examples from Base or libraries, and how it would simplify things. Best, Tamas On Wed, Apr 13 2016, Didier Verna wrote: > Cedric St-Jean <cedric.stj...@gmail.com> wrote: > >> Local macros in Lisp are expanded at compile-time. They're useful >> inside macro-expansions, eg. > > Not even inside other macros, but as local macros inside any kind of > code block. E.g. (silly): > > CL-USER> (let (list) > (macrolet ((add (element) `(push ,element list))) > (add 3) > (add 2) > (add 1))) > (1 2 3) > CL-USER>