I think the complicated scoping rules are inevitable in Julia as it is a dynamic language.
Every layer of flexibility in the language comes with a cost. static languages normally have simple scoping rules (And IDE can help a lot with static analysis). Functional languages have even simpler rules. On Tuesday, April 12, 2016 at 10:16:48 AM UTC+1, Didier Verna wrote: > > > Hi, > > I'm quite puzzled by the complication of Julia's scoping rules, and in > particular this way of constantly and implicitly mixing binding and > assignment, with varying semantics according to the context. > > The manual is not convincing (at least to me) in justifying what's > happening. Most of the scoping behavior looks like a big DWIM machinery > which is evil. > > What's the history behind all this? Technical debt? Inspiration from > other languages (certainly not Scheme!)? Actual, arbitrary design > decisions? > > Thank you! > > -- > ELS'16 registration open! http://www.european-lisp-symposium.org > > Lisp, Jazz, Aïkido: http://www.didierverna.info >
