Great, thanks - that makes so much more sense x)

On Tuesday, 18 August 2015 10:10:40 UTC+2, Milan Bouchet-Valat wrote:
>
> Le mardi 18 août 2015 à 00:37 -0700, Kevin Kunzmann a écrit : 
> > Hi guys, 
> > 
> > So, I recently revisited Julia and fooled around a bit with Julia 
> > Box. Amazing - this looks like the language I never actually dared 
> > dreaming of ;) Keep up the greedy work! 
> > 
> > That being said, my question might be dumb, but I am struggling with 
> > the type system of Julia. I want to guarantee that the arguments to a 
> > function are numerical arrays of dimension 1 - how would I best do 
> > that in Julia? The problem is that 
> > 
> > Array{Number, 1} 
> > 
> > exists as a type, but when I get the type system right it should not 
> > have any subtypes except union. Especially 
> > 
> > Array{Float64, 1} <: Array{Number, 1} 
> > 
> > evaluates to ' false'. I think I get why this is implemented the way 
> > it is, however, would it not be most intuitive to have something like 
> > 
> > function f(x::Array{Number, 1}) 
> >     x 
> > end 
> > 
> > 
> > What would be the 'Julian' way of doing this? 
> f{T<:Number}(x::Array{T, 1}) or 
> f{T<:Number}(x::Vecotr{T}) 
>
> You're hitting a subtle point which has to do with covariance vs. 
> invariance of types. This part of the manual should make it clearer, 
> but feel free to ask for more explanations: 
> http://docs.julialang.org/en/latest/manual/types/?highlight=covariance# 
> parametric-composite-types 
> <http://docs.julialang.org/en/latest/manual/types/?highlight=covariance#parametric-composite-types>
>  
>
>
> Regards 
>

Reply via email to