I cannot make sense of these warnings but you need to either import + from
Base or explicitly use Base.(:+)
when overloading.
On Tuesday, April 26, 2016 at 11:35:02 PM UTC+3, [email protected] wrote:
>
> In my jupyter notebook, sequentially, I define types:
>
> workspace() # needed for redefining type
> type State
> position::Int
> spin::Array{Any,2}
> State() = new(0,[1 0]')
> State(position,spin) = new(position,spin)
> end
>
> and functions on types
>
> function +(s1::State, s2::State)
> #Linear combination
> if s1.position == s2.position
> s=State(s1.position,s2.spin+s1.spin)
> return s
> else
> return [s1,s2]
> end
> end
>
> then when I call
>
> using PyPlot
>
> the warnings are (I get no plots, only PyObject
> <mpl_toolkits.mplot3d.art3d.Poly3DCollection object at 0x306c7f250>)
>
> WARNING: Method definition remotecall(Function, Main.Base.LocalProcess,
> Any...) in module Compat at /Users//.julia/v0.4/Compat/src/Compat.jl:822
> overwritten in module Compat at
> /Users//.julia/v0.4/Compat/src/Compat.jl:822.
> WARNING: Method definition remotecall(Function, Main.Base.Worker, Any...)
> in module Compat at /Users//.julia/v0.4/Compat/src/Compat.jl:823
> overwritten in module Compat at
> /Users//.julia/v0.4/Compat/src/Compat.jl:823.
> WARNING: Method definition remotecall(Function, Integer, Any...) in module
> Compat at /Users//.julia/v0.4/Compat/src/Compat.jl:824 overwritten in
> module Compat at /Users//.julia/v0.4/Compat/src/Compat.jl:824.
> WARNING: Method definition cor(AbstractArray{T<:Any, 2},
> AbstractArray{T<:Any, 2}, Integer) in module Compat at
> /Users//.julia/v0.4/Compat/src/Compat.jl:888 overwritten in module Compat
> at /Users//.julia/v0.4/Compat/src/Compat.jl:888.
> WARNING: Method definition cor(AbstractArray{T<:Any, 2}, Integer) in
> module Compat at /Users//.julia/v0.4/Compat/src/Compat.jl:887 overwritten
> in module Compat at /Users//.julia/v0.4/Compat/src/Compat.jl:887.
> WARNING: Method definition readavailable(Main.Base.IOStream) in module
> Compat at /Users//.julia/v0.4/Compat/src/Compat.jl:905 overwritten in
> module Compat at /Users//.julia/v0.4/Compat/src/Compat.jl:905.
> WARNING: Method definition
> readavailable(Main.Base.AbstractIOBuffer{Array{UInt8, 1}}) in module Compat
> at /Users//.julia/v0.4/Compat/src/Compat.jl:906 overwritten in module
> Compat at /Users//.julia/v0.4/Compat/src/Compat.jl:906.
> WARNING: Method definition remote_do(Function, Main.Base.LocalProcess,
> Any...) in module Compat at /Users//.julia/v0.4/Compat/src/Compat.jl:822
> overwritten in module Compat at
> /Users//.julia/v0.4/Compat/src/Compat.jl:822.
> WARNING: Method definition remote_do(Function, Main.Base.Worker, Any...)
> in module Compat at /Users//.julia/v0.4/Compat/src/Compat.jl:823
> overwritten in module Compat at
> /Users//.julia/v0.4/Compat/src/Compat.jl:823.
> WARNING: Method definition remote_do(Function, Integer, Any...) in module
> Compat at /Users//.julia/v0.4/Compat/src/Compat.jl:824 overwritten in
> module Compat at /Users//.julia/v0.4/Compat/src/Compat.jl:824.
> WARNING: Method definition readlines(AbstractString) in module Compat at
> /Users//.julia/v0.4/Compat/src/Compat.jl:904 overwritten in module Compat
> at /Users//.julia/v0.4/Compat/src/Compat.jl:904.
> WARNING: Method definition remotecall_wait(Function,
> Main.Base.LocalProcess, Any...) in module Compat at
> /Users//.julia/v0.4/Compat/src/Compat.jl:822 overwritten in module Compat
> at /Users//.julia/v0.4/Compat/src/Compat.jl:822.
> WARNING: Method definition remotecall_wait(Function, Main.Base.Worker,
> Any...) in module Compat at /Users//.julia/v0.4/Compat/src/Compat.jl:823
> overwritten in module Compat at
> /Users//.julia/v0.4/Compat/src/Compat.jl:823.
> WARNING: Method definition remotecall_wait(Function, Integer, Any...) in
> module Compat at /Users//.julia/v0.4/Compat/src/Compat.jl:824 overwritten
> in module Compat at /Users//.julia/v0.4/Compat/src/Compat.jl:824.
> WARNING: Method definition cov(AbstractArray{T<:Any, 1},
> AbstractArray{T<:Any, 1}, Bool) in module Compat at
> /Users//.julia/v0.4/Compat/src/Compat.jl:883 overwritten in module Compat
> at /Users//.julia/v0.4/Compat/src/Compat.jl:883.
> WARNING: Method definition cov(AbstractArray{T<:Any, 2},
> AbstractArray{T<:Any, 2}, Integer) in module Compat at
> /Users//.julia/v0.4/Compat/src/Compat.jl:884 overwritten in module Compat
> at /Users//.julia/v0.4/Compat/src/Compat.jl:884.
> WARNING: Method definition cov(AbstractArray{T<:Any, 2},
> AbstractArray{T<:Any, 2}, Integer, Bool) in module Compat at
> /Users//.julia/v0.4/Compat/src/Compat.jl:885 overwritten in module Compat
> at /Users//.julia/v0.4/Compat/src/Compat.jl:885.
> WARNING: Method definition cov(AbstractArray{T<:Any, 1}, Bool) in module
> Compat at /Users//.julia/v0.4/Compat/src/Compat.jl:880 overwritten in
> module Compat at /Users//.julia/v0.4/Compat/src/Compat.jl:880.
> WARNING: Method definition cov(AbstractArray{T<:Any, 2}, Integer) in
> module Compat at /Users//.julia/v0.4/Compat/src/Compat.jl:881 overwritten
> in module Compat at /Users//.julia/v0.4/Compat/src/Compat.jl:881.
> WARNING: Method definition cov(AbstractArray{T<:Any, 2}, Integer, Bool) in
> module Compat at /Users//.julia/v0.4/Compat/src/Compat.jl:882 overwritten
> in module Compat at /Users//.julia/v0.4/Compat/src/Compat.jl:882.
> WARNING: Method definition read!(AbstractString, Any) in module Compat at
> /Users//.julia/v0.4/Compat/src/Compat.jl:901 overwritten in module Compat
> at /Users//.julia/v0.4/Compat/src/Compat.jl:901.
> WARNING: Method definition eachline(AbstractString) in module Compat at
> /Users//.julia/v0.4/Compat/src/Compat.jl:915 overwritten in module Compat
> at /Users//.julia/v0.4/Compat/src/Compat.jl:915.
> WARNING: Method definition write(Main.Base.IO, Main.Base.IO) in module
> Compat at /Users//.julia/v0.4/Compat/src/Compat.jl:909 overwritten in
> module Compat at /Users//.julia/v0.4/Compat/src/Compat.jl:909.
> WARNING: Method definition write(AbstractString, Any...) in module Compat
> at /Users//.julia/v0.4/Compat/src/Compat.jl:898 overwritten in module
> Compat at /Users//.julia/v0.4/Compat/src/Compat.jl:898.
> WARNING: Method definition remotecall_fetch(Function,
> Main.Base.LocalProcess, Any...) in module Compat at
> /Users//.julia/v0.4/Compat/src/Compat.jl:822 overwritten in module Compat
> at /Users//.julia/v0.4/Compat/src/Compat.jl:822.
> WARNING: Method definition remotecall_fetch(Function, Main.Base.Worker,
> Any...) in module Compat at /Users//.julia/v0.4/Compat/src/Compat.jl:823
> overwritten in module Compat at
> /Users//.julia/v0.4/Compat/src/Compat.jl:823.
> WARNING: Method definition remotecall_fetch(Function, Integer, Any...) in
> module Compat at /Users//.julia/v0.4/Compat/src/Compat.jl:824 overwritten
> in module Compat at /Users//.julia/v0.4/Compat/src/Compat.jl:824.
> WARNING: Method definition read(Main.Base.IO) in module Compat at
> /Users//.julia/v0.4/Compat/src/Compat.jl:895 overwritten in module Compat
> at /Users//.julia/v0.4/Compat/src/Compat.jl:895.
> WARNING: Method definition read(Main.Base.IO, Any) in module Compat at
> /Users//.julia/v0.4/Compat/src/Compat.jl:896 overwritten in module Compat
> at /Users//.julia/v0.4/Compat/src/Compat.jl:896.
> WARNING: Method definition read(AbstractString, Any...) in module Compat
> at /Users//.julia/v0.4/Compat/src/Compat.jl:900 overwritten in module
> Compat at /Users//.julia/v0.4/Compat/src/Compat.jl:900.
> WARNING: Method definition readline(AbstractString) in module Compat at
> /Users//.julia/v0.4/Compat/src/Compat.jl:903 overwritten in module Compat
> at /Users//.julia/v0.4/Compat/src/Compat.jl:903.
> WARNING: Method definition precision(Type{Main.Base.MPFR.BigFloat}) in
> module Compat at /Users//.julia/v0.4/Compat/src/Compat.jl:946 overwritten
> in module Compat at /Users//.julia/v0.4/Compat/src/Compat.jl:946.
> WARNING: Method definition readuntil(AbstractString, Any...) in module
> Compat at /Users//.julia/v0.4/Compat/src/Compat.jl:902 overwritten in
> module Compat at /Users//.julia/v0.4/Compat/src/Compat.jl:902.
> WARNING: Method definition run(Function) in module BinDeps at
> /Users//.julia/v0.4/BinDeps/src/BinDeps.jl:436 overwritten in module
> BinDeps at /Users//.julia/v0.4/BinDeps/src/BinDeps.jl:436.
> WARNING: Method definition find_library(Any, Any, Any) in module BinDeps
> at /Users//.julia/v0.4/BinDeps/src/BinDeps.jl:15 overwritten in module
> BinDeps at /Users//.julia/v0.4/BinDeps/src/BinDeps.jl:15.
> WARNING: New definition
> |(BinDeps.SynchronousStepCollection, Any) at
> /Users//.julia/v0.4/BinDeps/src/BinDeps.jl:309
> is ambiguous with:
> |(Any, Main.BinDeps.SynchronousStepCollection) at
> /Users//.julia/v0.4/BinDeps/src/BinDeps.jl:312.
> To fix, define
> |(BinDeps.SynchronousStepCollection,
> Main.BinDeps.SynchronousStepCollection)
> before the new definition.
> WARNING: New definition
> |(Any, BinDeps.SynchronousStepCollection) at
> /Users//.julia/v0.4/BinDeps/src/BinDeps.jl:312
> is ambiguous with:
> |(Main.BinDeps.SynchronousStepCollection, Any) at
> /Users//.julia/v0.4/BinDeps/src/BinDeps.jl:309.
> To fix, define
> |(Main.BinDeps.SynchronousStepCollection,
> BinDeps.SynchronousStepCollection)
> before the new definition.
> WARNING: Method definition connect(Union{Symbol, AbstractString},
> Function) in module PyPlot at /Users//.julia/v0.4/PyPlot/src/PyPlot.jl:469
> overwritten in module PyPlot at
> /Users//.julia/v0.4/PyPlot/src/PyPlot.jl:469.
> WARNING: Method definition show() in module PyPlot at
> /Users//.julia/v0.4/PyPlot/src/PyPlot.jl:450 overwritten in module PyPlot
> at /Users//.julia/v0.4/PyPlot/src/PyPlot.jl:450.
> WARNING: Method definition close() in module PyPlot at
> /Users//.julia/v0.4/PyPlot/src/PyPlot.jl:467 overwritten in module PyPlot
> at /Users//.julia/v0.4/PyPlot/src/PyPlot.jl:467.
> WARNING: New definition
> close(Union{Integer, Symbol, AbstractString, PyPlot.Figure}) at
> /Users//.julia/v0.4/PyPlot/src/PyPlot.jl:466
> is ambiguous with:
> close(Union{Integer, Symbol, AbstractString, Main.PyPlot.Figure}) at
> /Users//.julia/v0.4/PyPlot/src/PyPlot.jl:466.
> To fix, define
> close(Union{Integer, Symbol, AbstractString})
> before the new definition.
> WARNING: Method definition step(Any, Any) in module PyPlot at
> /Users//.julia/v0.4/PyPlot/src/PyPlot.jl:464 overwritten in module PyPlot
> at /Users//.julia/v0.4/PyPlot/src/PyPlot.jl:464.
> WARNING: Method definition step(Array, Any, Any) in module PyPlot
> overwritten in module PyPlot.
> WARNING: Method definition fill(AbstractArray, AbstractArray, Any...) in
> module PyPlot at /Users//.julia/v0.4/PyPlot/src/PyPlot.jl:471 overwritten
> in module PyPlot at /Users//.julia/v0.4/PyPlot/src/PyPlot.jl:471.
> WARNING: Method definition fill(Array, AbstractArray, AbstractArray,
> Any...) in module PyPlot overwritten in module PyPlot.
>
> On Tuesday, April 26, 2016 at 4:18:32 PM UTC-4, Tom Breloff wrote:
>>
>> It's hard to help without seeing your code, and more complete output.
>>
>> On Tue, Apr 26, 2016 at 4:09 PM, <[email protected]> wrote:
>>
>>> Hi,
>>>
>>> I'm trying to use PyPlot in a Jupyter notebook (Julia 0.4.5). I have
>>> some type definitions and I have some functions that overload functions
>>> from Base (i.e I define the + operator on my new types). When I try to call
>>> a plotting function after these definitions, I just get something like
>>>
>>> PyObject <mpl_toolkits.mplot3d.art3d.Poly3DCollection object at 0x306c7f250>
>>>
>>> with no plot displayed.
>>> If I declare "using PyPlot" after my type definitions, I get lots of
>>> warnings like:
>>>
>>> Method definition remotecall(Function, Main.Base.LocalProcess, Any...) in
>>> module Compat at /Users/.julia/v0.4/Compat/src/Compat.jl:822 overwritten in
>>> module Compat at /Users/.julia/v0.4/Compat/src/Compat.jl:822.
>>>
>>>
>>> So I guess my type definitions and overload functions are interfering with
>>> PyPlot. Any ideas how to fix this?
>>>
>>>
>>> Thanks,
>>>
>>>
>>