I wrote a work-around earlier today:

Pkg.clone("git://github.com/cstjean/ClobberingReload.jl.git")

using ClobberingReload: sinclude     # silent include
sinclude("foo.jl")   # no redefinition warnings


It's fresh off the press, so please file an issue if you encounter a 
problem. It calls `include` under the hood; there's no magic involved. I 
just intercept STDERR and remove the redefinition warnings.

On Tuesday, September 27, 2016 at 3:13:00 PM UTC-4, Andrew wrote:
>
> It seems like a lot of people are complaining about this. Is there some 
> way to suppress method overwritten warnings for an include() statement? 
> Perhaps a keyword like include("foo.jl", quietly = true)?
>
> On Tuesday, September 27, 2016 at 1:56:27 PM UTC-4, Daniel Carrera wrote:
>>
>> Hello,
>>
>> I'm not sure when I upgraded, but I am using Julia 0.5 and now it 
>> complains every time I redefine a method, which is basically all the time. 
>> When I'm developing ideas I usually have a file with a script that I modify 
>> and reload all the time:
>>
>> julia> include("foo.jl");
>>
>> ... see the results, edit file ...
>>
>> julia> include("foo.jl");
>>
>> ... see the results, edit file ...
>> julia> include("foo.jl");
>>
>> ... see the results, edit file ...
>>
>>
>> And so on. This is what I do most of the time. But now every time I 
>> `include("foo.jl")` I get warnings for every method that has been redefined 
>> (which is all of them):
>>
>> julia> include("foo.jl");
>>
>> WARNING: Method definition (::Type{Main.Line})(Float64, Float64) in 
>> module Main at /home/daniel/Data/Science/Thesis/SI.jl:4 overwritten at 
>> /home/daniel/Data/Science/Thesis/SI.jl:4.
>> WARNING: Method definition (::Type{Main.Line})(Any, Any) in module Main 
>> at /home/daniel/Data/Science/Thesis/SI.jl:4 overwritten at 
>> /home/daniel/Data/Science/Thesis/SI.jl:4.
>> WARNING: Method definition new_line(Any, Any, Any) in module Main at 
>> /home/daniel/Data/Science/Thesis/SI.jl:8 overwritten at 
>> /home/daniel/Data/Science/Thesis/SI.jl:8.
>>
>>
>> Is there a way that this can be fixed? How can I recover Julia's earlier 
>> behaviour? This is very irritating, and I don't think it makes sense for a 
>> functional language like Julia. If I wrote a method as a variable 
>> assignment (e.g. "foo = x -> 2*x") Julia wouldn't complain.
>>
>>
>> Thanks for the help,
>> Daniel.
>>
>

Reply via email to