Sorry about this: please don't disregard. It is possible that the TypeError 
here is being generated during compilation, not during execution, in which 
case I still need help :)



On Sunday, April 19, 2015 at 4:54:08 PM UTC-7, Seth wrote:
>
> 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.
>>>>>>>
>>>>>>

Reply via email to