Does this do it?

ptype{T}(::Type{Ptr{T}}) = T
btype{T}(b::Type{B{T}}) = T
btype(ptype(z))

(One way or another, that is one torturous type nest!)

--Tim

On Monday, February 10, 2014 11:26:33 PM Jameson Nash wrote:
> I can't figure this out, so I'm hoping someone will be able to help
> suggest a better way to parametrize this code, or solve my dilemma.
> I've made a somewhat complicate type hierarchy, and now I need to
> extract some information from it. The problem is, given z (or an
> instance thereof), I can't seem to extract S:
> 
> 
> julia> abstract A{S}
> 
> julia> type B{T} <: A{S} end
> 
> julia> typealias C{T<:A} Ptr{T}
> Ptr{T<:A{T}}
> 
> julia> z = Ptr{B{Int}}
> Ptr{B{Int64}}
> 
> julia> # how to go from z -> Int here

Reply via email to