You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
overloads Base.map(f::Function) (since the ls... argument can be empty), which is classic type piracy. For example:
Without Lazy.jl:
julia>map(sin)
ERROR: MethodError: no method matching sin()
Closest candidates are:sin(::BigFloat) at mpfr.jl:637sin(::Complex{Float16}) at math.jl:951sin(::Float16) at math.jl:950...
Stacktrace:
[1] map(::Base.#sin) at ./abstractarray.jl:1935
With Lazy.jl loaded:
julia>using Lazy
julia>map(sin)
(Error showing value of type Lazy.LazyList:
ERROR: MethodError: no method matching sin()
Closest candidates are:sin(::BigFloat) at mpfr.jl:637sin(::Complex{Float16}) at math.jl:951sin(::Float16) at math.jl:950...
Stacktrace:
[1] (::Lazy.##59#60{Base.#sin,Tuple{}})() at /home/rdeits/.julia/v0.6/Lazy/src/Lazy.jl:93
[2] realise!(::Lazy.LazyList) at /home/rdeits/.julia/v0.6/Lazy/src/Lazy.jl:79
[3] realise(::Lazy.LazyList) at /home/rdeits/.julia/v0.6/Lazy/src/Lazy.jl:84
[4] (::Lazy.##41#42{Lazy.LazyList,String,Int64})() at /home/rdeits/.julia/v0.6/Lazy/src/Lazy.jl:93
[5] realise!(::Lazy.LazyList) at /home/rdeits/.julia/v0.6/Lazy/src/Lazy.jl:79
[6] realise(::Lazy.LazyList) at /home/rdeits/.julia/v0.6/Lazy/src/Lazy.jl:87
[7] (::Lazy.##37#38{Lazy.LazyList,Lazy.LinkedList})() at /home/rdeits/.julia/v0.6/Lazy/src/Lazy.jl:93
[8] realise!(::Lazy.LazyList) at /home/rdeits/.julia/v0.6/Lazy/src/Lazy.jl:79
[9] realise(::Lazy.LazyList) at /home/rdeits/.julia/v0.6/Lazy/src/Lazy.jl:87
[10] any(::Base.#isempty, ::Tuple{Lazy.LazyList}) at ./reduce.jl:574
[11] (::Lazy.##59#60{Lazy.##91#92{IOContext{Base.Terminals.TTYTerminal}},Tuple{Lazy.LazyList}})() at /home/rdeits/.julia/v0.6/Lazy/src/Lazy.jl:93
[12] realise!(::Lazy.LazyList) at /home/rdeits/.julia/v0.6/Lazy/src/Lazy.jl:79
[13] realise(::Lazy.LazyList) at /home/rdeits/.julia/v0.6/Lazy/src/Lazy.jl:87
[14] dorun(::Lazy.LazyList) at /home/rdeits/.julia/v0.6/Lazy/src/tail.jl:123
[15] show(::IOContext{Base.Terminals.TTYTerminal}, ::Lazy.LazyList) at /home/rdeits/.julia/v0.6/Lazy/src/Lazy.jl:149
[16] display(::Base.REPL.REPLDisplay{Base.REPL.LineEditREPL}, ::MIME{Symbol("text/plain")}, ::Lazy.LazyList) at ./REPL.jl:122
[17] display(::Base.REPL.REPLDisplay{Base.REPL.LineEditREPL}, ::Lazy.LazyList) at ./REPL.jl:125
[18] display(::Lazy.LazyList) at ./multimedia.jl:218
[19] eval(::Module, ::Any) at ./boot.jl:235
[20] print_response(::Base.Terminals.TTYTerminal, ::Any, ::Void, ::Bool, ::Bool, ::Void) at ./REPL.jl:144
[21] print_response(::Base.REPL.LineEditREPL, ::Any, ::Void, ::Bool, ::Bool) at ./REPL.jl:129
[22] (::Base.REPL.#do_respond#16{Bool,Base.REPL.##26#36{Base.REPL.LineEditREPL,Base.REPL.REPLHistoryProvider},Base.REPL.LineEditREPL,Base.LineEdit.Prompt})(::Base.LineEdit.MIState, ::Base.AbstractIOBuffer{Array{UInt8,1}}, ::Bool) at ./REPL.jl:646
The text was updated successfully, but these errors were encountered:
I just found the same problem! Though I think map(f) = f() is a bad design, this is still a type piracy. In fact, I do not even know I had Lazy.jl installed!
I was debugging what I thought was a problem with Interact and Widgets.jl, but it turned out to be some subtle type piracy coming from Lazy.jl. This line: https://github.com/MikeInnes/Lazy.jl/blob/db5a0eb044769d303a58c6582b7205b12e7257ab/src/liblazy.jl
overloads
Base.map(f::Function)
(since thels...
argument can be empty), which is classic type piracy. For example:Without Lazy.jl:
With Lazy.jl loaded:
The text was updated successfully, but these errors were encountered: