On Tue, Apr 12, 2016 at 9:18 AM, Cedric St-Jean <[email protected]> wrote: > > > On Tuesday, April 12, 2016 at 8:59:54 AM UTC-4, Yichao Yu wrote: >> >> >> Macros cannot be scope local (without major change of everything) >> since they are executed at compile time and doesn't know anything in >> the scope. > > > Local macros in Lisp are expanded at compile-time. They're useful inside > macro-expansions, eg. > > @define_model() begin > @var x = 10 # @var is a local macro, whose expansion depends on the > @define_model arguments > end > > I don't see why Julia couldn't support that.
I don't really know how it works in lisp but in julia a macro is just a function with a special name `@...` that can be called automatically called by the parser. Also note that macros are not expanded when passing to another macro so if that is what you want, you can search for macrocalls in the AST you get in the macro and replace them when expressions you want. > >> >> >> > >> > Thanks. >> > >> > -- >> > ELS'16 registration open! http://www.european-lisp-symposium.org >> > >> > Lisp, Jazz, Aïkido: http://www.didierverna.info
