Disregard - this appears to be another issue. Will post separately.
On Sunday, April 19, 2015 at 4:17:42 PM UTC-7, Seth wrote:
>
> Thanks, Matt - this is very helpful.
>
> I'm running into what a problem with PriorityQueue in Base.Collections,
> though. I changed
>
> PriorityQueue((Float64,Array{Edge,1},Int), Float64)
>
> to
>
>
> PriorityQueue(@compat(Tuple{Float64,Array{Edge,1},Int}), Float64)
>
> and am getting an error:
>
> ERROR: TypeError: apply_type: in PriorityQueue, expected Type{T}, got
> Tuple{DataType,DataType,DataType}
>
> What am I doing wrong?
>
>
> On Sunday, April 19, 2015 at 2:17:26 PM UTC-7, Matt Bauman wrote:
>>
>> I think this is what your after (for Foo = Int and Bar = Float64):
>>
>> julia> Tuple{Int,Float64}[]
>> 0-element Array{Tuple{Int64,Float64},1}
>>
>>
>> julia> push!(ans, (1, 2.))
>> 1-element Array{Tuple{Int64,Float64},1}:
>> (1,2.0)
>>
>> Documentation is unfortunately still in the process of being updated.
>> Basically, anywhere you had a tuple of types, you now must write
>> `Tuple{Int, Float64}` instead of `(Int, Float64)`. In cases where you had
>> a vararg tuple specification, you now write `Tuple{Int, Vararg{Float64}}`
>> instead of `(Int, Float64...)`. That latter vararg syntax is still up for
>> debate.
>>
>> On the plus side, you no longer need to work around constructing tuples
>> by splatting: (1, (2,3)…) now works as you would expect it to. And there's
>> no longer a strange type/value duality to ().
>>
>> On Sunday, April 19, 2015 at 5:06:00 PM UTC-4, Seth wrote:
>>>
>>> Following up:
>>>
>>> How does one now write
>>>
>>> foo = (Foo, Bar)[]
>>>
>>> ?
>>>
>>> Sorry for all the questions here. I really don't understand the changes
>>> that were made and I'd like to get my package working again as quickly as
>>> possible.
>>>
>>> Are there docs anywhere (written for novices, that is) on what changed
>>> and how to adapt?
>>>
>>>
>>> On Sunday, April 19, 2015 at 12:09:27 PM UTC-7, Tony Kelman wrote:
>>>>
>>>> That will cause the code to not work on 0.3. To get code that works on
>>>> both 0.3 and 0.4, use the Compat.jl package, and
>>>>
>>>> function _make_simple_undirected_graph{T<:Integer}(n::T,
>>>> edgelist::Vector{@compat(Tuple{T,T})})
>>>>
>>>>
>>>> On Sunday, April 19, 2015 at 11:58:42 AM UTC-7, Avik Sengupta wrote:
>>>>>
>>>>>
>>>>> Try this:
>>>>>
>>>>> function _make_simple_undirected_graph{T<:Integer}(n::T,
>>>>> edgelist::Vector{Tuple{T,T}})
>>>>>
>>>>> On Monday, 20 April 2015 00:18:33 UTC+5:30, Seth wrote:
>>>>>>
>>>>>> Could someone please explain what's going on here and what I need to
>>>>>> do to fix my package with the latest 0.4 tuple changes?
>>>>>>
>>>>>> Here's the error (from pkg.julialang.org):
>>>>>>
>>>>>> ERROR: LoadError: LoadError: LoadError: TypeError: apply_type: in alias,
>>>>>> expected Type{T}, got Tuple{TypeVar,TypeVar}
>>>>>> in include at ./boot.jl:250
>>>>>> in include_from_node1 at ./loading.jl:129
>>>>>> in include at ./boot.jl:250
>>>>>> in include_from_node1 at ./loading.jl:129
>>>>>> in reload_path at ./loading.jl:153
>>>>>> in _require at ./loading.jl:68
>>>>>> in require at ./loading.jl:51
>>>>>> in include at ./boot.jl:250
>>>>>> in include_from_node1 at loading.jl:129
>>>>>> in process_options at ./client.jl:299
>>>>>> in _start at ./client.jl:398
>>>>>> while loading /home/vagrant/testpkg/v0.4/LightGraphs/src/smallgraphs.jl,
>>>>>> in expression starting on line 120
>>>>>> while loading /home/vagrant/testpkg/v0.4/LightGraphs/src/LightGraphs.jl,
>>>>>> in expression starting on line 93
>>>>>> while loading /vagrant/nightlyAL/PKGEVAL_LightGraphs_using.jl, in
>>>>>> expression starting on line 4
>>>>>>
>>>>>>
>>>>>> Here's the line in question:
>>>>>>
>>>>>> function _make_simple_undirected_graph{T<:Integer}(n::T, edgelist::
>>>>>> Vector{(T,T)})
>>>>>>
>>>>>> I confess to not yet fully understanding the new change to tuples,
>>>>>> and I'm lost as to how to fix my code to comply with the new rules.
>>>>>>
>>>>>> Thanks.
>>>>>>
>>>>>