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,
>>>
>>>
>>

Reply via email to