Thanks for looking and posting (I've been on my phone).  I think I might
have written that code, actually. ;-)

Cheers!
   Kevin

On Sunday, December 27, 2015, Ismael VC <ismael.vc1...@gmail.com> wrote:

> Kevin I tested in my Win laptop with 0.3.11, 0.4.2, 0.4, 0.5+ also the
> same versions in julia box, and the output is deterministically sorted, It
> seems this has been the way it works for some time now, then I looked at
> the code and it’s indeed sorted (should have done that first! :P ):
>
>    - http://git.io/vEXL9
>
> subtypes(m::Module, x::DataType) = sort(collect(_subtypes(m, x)), by=string)
> subtypes(x::DataType) = subtypes(Main, x)
>
> I would expect a very good reason in order to justify a change for this
> now.
> ​
>
> Ismael Venegas Castelló
>
> *Data Analyst*
>
> Cel. 044 55 6434 0229
>
> ivene...@richit.com.mx
> <javascript:_e(%7B%7D,'cvml','ivene...@richit.com.mx');>
>
> Cerro San Francisco 357, C.P. 04200
>
> Campestre Churubusco, Coyoacán
>
> Ciudad de México
>
> <http://t.sidekickopen35.com/e1t/c/5/f18dQhb0S7lC8dDMPbW2n0x6l2B9nMJW7t5XX43Mx_82W1p1tN-8q-fZWW3LPXXH56dKBHf5NSPJF02?t=https%3A%2F%2Frichit.com.mx%2F&si=4656540167962624&pi=cbed75c9-c818-4cc7-b26c-aa1d7cf16134>
>
> <https://www.facebook.com/richitsolution>
> <http://t.sidekickopen35.com/e1t/c/5/f18dQhb0S7lC8dDMPbW2n0x6l2B9nMJW7t5XX43Mx_82W1p1tN-8q-fZWW3LPXXH56dKBHf5NSPJF02?t=https%3A%2F%2Ftwitter.com%2Frichitsolution&si=4656540167962624&pi=cbed75c9-c818-4cc7-b26c-aa1d7cf16134>
>   <javascript:_e(%7B%7D,'cvml','conta...@richit.com.mx');>
>
> Tel. 6718 1818
> richit.com.mx
>
> 2015-12-27 18:06 GMT-06:00 Kevin Squire <kevin.squ...@gmail.com
> <javascript:_e(%7B%7D,'cvml','kevin.squ...@gmail.com');>>:
>
>> Ray, thanks for the clarification--makes sense. In fact, for
>> introspection code like 'subtypes', performance is probably the wrong
>> argument--it's unlikely that it occurs in performance-critical code. I
>> think it's really that arrays are just simpler.
>>
>> One aesthetic change I could imagine would be to have the results sorted
>> before returning, which would keep the same data structure, but solve your
>> problem, and present the subtypes in a way the user would likely find more
>> useful.
>>
>> Ismael, it might be a little brittle to depend on the current order
>> (unless it's always sorted now).
>>
>> Cheers,
>>    Kevin
>>
>>
>> On Sunday, December 27, 2015, Ismael Venegas Castelló <
>> ismael.vc1...@gmail.com
>> <javascript:_e(%7B%7D,'cvml','ismael.vc1...@gmail.com');>> wrote:
>>
>>> You can just do:
>>>
>>> @assert subtypes(Type) == [DataType, TypeConstructor, Union]
>>>
>>> I just tested this:
>>>
>>> julia> @time for i in 1:1000
>>>            @assert subtypes(Type) == [DataType, TypeConstructor, Union]
>>>        end
>>>   3.025415 seconds (767.00 k allocations: 224.075 MB, 0.49% gc time)
>>>
>>>
>>>
>>> El sábado, 26 de diciembre de 2015, 12:52:51 (UTC-6), Ray Toal escribió:
>>>>
>>>> I noticed that
>>>>
>>>> *julia> **subtypes(Type)*
>>>>
>>>> *3-element Array{Any,1}:*
>>>>
>>>> * DataType      *
>>>>
>>>> * TypeConstructor*
>>>>
>>>> * Union *
>>>>
>>>> and was wondering if there was any significance in the order of the
>>>> subtypes. If not, could the method have produced a Set instead?
>>>>
>>>>
>

Reply via email to