Julia 2.0, new scope rules, and other breaking changes

I’m interested in potentially better scoping rules but those will be breaking changes. (I have read the PSA: Julia is not at that stage of development anymore ).

  1. When is Julia 2.0 planned to come?
  2. Is changing scoping rules for that admissible, beyond just making the rules in REPL and files be the same ? IIUC, the latter unification will happen for sure.
  3. What do you think of creating a special category “Julia 2.0 scoping suggestions” or more generally “Julia 2.0 suggestions” where users would be welcome (or at least won’t be perceived as annoying) to suggest breaking changes to scoping and other things? Then people can vote and Julia core developers will know what proposals will have more support.

Thanks

About question 1, a 2.0 version is not planned at the moment, it may or may not happen at all.

4 Likes

Imho, scoping rules seem to pop-up here mainly because they are different than in some other popular languages. They are not bad though – in the sense of needing to be fixed – and work quite nicely for interactively exploring things

julia> tmp = 0
0

julia> for x in 1:10
           tmp += x
       end

julia> tmp
55

and then putting everything into a function:

function mysum(stuff)
    tmp = 0
    for x in stuff
        tmp += x
    end
    tmp
end

Imho, Julia 2.0 would be mainly interesting for a novel take on the type system, e.g., relying more on traits than subtyping hierarchies. A lot of research is still needed to make that work well with multiple dispatch (the best feature of Julia 1.xyz) …

2 Likes

How do you know?

See e.g. Is Julia 2.0 needed?

1 Like