Yeah, it's because of IJulia, sorry about that. I need it to support
autoreloading. I could split the package in two, but it's small enough
already that it doesn't feel like the right call.

One day we'll get conditional imports...

On Tue, Sep 27, 2016 at 4:14 PM, Daniel Carrera <dcarr...@gmail.com> wrote:

> Thanks! You are a savior!
>
> Here is something odd: when I installed it with Pkg.clone(...) my Julia
> decided that it also had to update Conda and install Jupyter. Is this some
> weird quirk of my setup. I notice that you import IJulia, so I guess that
> has something to do with it. It's not a big deal; I just thought it was
> weird to see the package manager installing stuff like Qt, fontconfig, SSL,
> and libxml just to clobber include().
>
> But other than that, it works fabulously. Thank you so much!
>
> Cheers,
> Daniel.
>
>
>
> On 27 September 2016 at 21:45, Cedric St-Jean <cedric.stj...@gmail.com>
> wrote:
>
>> 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