I just *immediately* found a bug thanks to the redefinition warning: julia> using Plots; plotlyjs() > INFO: Recompiling stale cache file /home/tom/.julia/lib/v0.5/Plots.ji for > module Plots. > WARNING: Method definition apply_recipe(Base.Dict{Symbol, Any}, > Type{Base.Dates.Date}, Base.Dates.Date) in module Plots at > /home/tom/.julia/v0.5/RecipesBase/src/RecipesBase.jl:232 overwritten at > /home/tom/.julia/v0.5/RecipesBase/src/RecipesBase.jl:232.
So... thanks. :) On Thu, Sep 29, 2016 at 8:07 AM, Daniel Carrera <dcarr...@gmail.com> wrote: > Hi everyone, > > I created a new issue asking the Julia developers to please restore the > earlier behaviour. I would be immensely grateful if you could write on this > issue and let the Julia developers know that I am not the only person who > would be happier without the sea of warnings. > > https://github.com/JuliaLang/julia/issues/18725 > > Cheers, > Daniel. > > > > On 28 September 2016 at 15:15, J Luis <jmfl...@gmail.com> wrote: > >> >> This a very heavy install. It's fetching tons of things that I have not >>> used. Not sure what they are, but seems like trashing my system. >>> >> >> Yes, unfortunately Conda is an unbearably big dependency (over 1.xxx Gb) >> that sneaks in via un-suspicious packages. A dependency this big should >> never install without a strict user consent. Docs explain how to avoid it >> but don't find the explanation clear. I had to declare this >> >> ENV["JUPYTER"]="C:/programs/WinPython-3.5.2.2_64/python-3.5. >> 2.amd64/Scripts/jupyter" >> >> to really prevent a Conda installation >> >> >>> >>> On Wednesday, September 28, 2016 at 4:30:32 AM UTC+8, Cedric St-Jean >>> wrote: >>>> >>>> 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 <dcar...@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...@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. >>>>>>>> >>>>>>> >>>>> >>>> >