What is the bool in a module expr?

A module expr contains a Bool as the first arg

julia> :(module A end).args
3-element Array{Any,1}:
 true
     :A
     quote
    #= none:1 =#
    #= none:1 =#
end

What is it for? How would you name it?

It tells you whether the module was declared with module or baremodule:

julia> :(module A end).args
3-element Array{Any,1}:
 true
     :A
     quote
    #= REPL[1]:1 =#
    #= REPL[1]:1 =#
end

julia> :(baremodule A end).args
3-element Array{Any,1}:
 false
      :A
      quote
    #= REPL[2]:1 =#
    #= REPL[2]:1 =#
end
2 Likes